1 飞机票
代码实现:
import java.util.Scanner;
public class F1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入票价: ");
double jia = input.nextDouble();
System.out.print("请输入月份: ");
int yue = input.nextInt();
System.out.print("请输入你所坐飞机舱(经济舱或头等舱) ");
String can = input.next();
methodjia(jia,yue,can);
}
private static void methodjia(double jia, int yue, String can) {
if (yue>=5 && yue<=10){
if (can.equals("经济舱")){
jia=jia*0.85;
}else if(can.equals("头等舱")) {
jia = jia * 0.9;
}else
System.out.println("输入错误");
return;
} else if((yue>10 && yue<=12) || (yue<5 && yue>0)){
if (can.equals("头等舱")){
jia=jia*0.7;
}else if(can.equals("经济舱")){
jia=jia*0.65;}
else
System.out.println("输入错误");
return;
} else if(yue<0||yue>12){
System.out.println("错误");
return;}
System.out.println(jia);
}
}
2 生成一个五位数验证码
代码实现:
import java.util.Random;
public class Yzm {
public static void main(String[] args) {
char []arr = new char[52];
Random rand = new Random();
for (int i = 0; i < 26; i++) {
arr[i] = (char) (65+i);
}
for (int i = 0; i <26; i++) {
arr[i+26] = (char) (97+i);
}
String s ="";
for (int i = 0; i < 4; i++) {
char k = arr[rand.nextInt(52)];
s=s+k;
}
int i = rand.nextInt(10);
s=s+i;
System.out.println(s);
}
}
3 数字加密
代码实现:
import java.util.Scanner;
public class Jm {
public static void main(String[] args) {
int num = new Scanner(System.in).nextInt();//输入一个数组
jiami(intToArray3(num));//方法调用
}
private static void jiami(int[] arr) {//加密方法每个位数+5,每个位数对10取模,再倒序
for (int i = 0; i < arr.length; i++) {
arr[i]+=5;
}
for (int i = 0; i < arr.length; i++) {
arr[i]%=10;
}
for (int i = 0,j = arr.length-1; i < j; i++,j--) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
int num = 0;
for (int i = 0; i < arr.length; i++) {
num= num*10+arr[i];
}
System.out.println(num);
}
private static int[] intToArray3(int num){
int len = String.valueOf(num).length();//得到这个数的长度以便创建数组
int[] resultArray = new int[len];//创建数组
while (num != 0){//给数组一一赋值
resultArray[len-1] = num % 10;
num = num / 10;
len--;
}
return resultArray;//返回位数组成的数组
}
}
4 数字解密
import java.util.*;
public class Jiemi {
public static void main(String[] args) {
int num = new Scanner(System.in).nextInt();
jie(int01(num));
}
private static void jie(int[] arr){
for (int i = 0,j=arr.length-1; i < j; i++,j--) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
for (int i = 0; i < arr.length; i++) {
if (arr[i]+10<15){
arr[i] = arr[i]+10;
}
}
// 4 3 2 1 0 9 8 7 6 5
// 14 13 12 11 10 9 8 7 6 5
// 9 8 7 6 5 4 3 2 1 0
for (int i = 0; i < arr.length; i++) {
arr[i]-=5;
}
int shuchu = 0;
for (int i = 0; i < arr.length; i++) {
shuchu= shuchu*10+arr[i];
}
System.out.println(shuchu);
}
private static int[] int01(int num){
int len = String.valueOf(num).length();
int[] arr = new int[len];
while (num!=0){
arr[len-1] = num%10;
num/=10;
len--;
}
return arr;
}
}
5 抢红包
User类创建
public class User {
private String name;
private int money;
public User(){
}
public User(String name,int money){
this.name=name;
this.money=money;
}
public void show(){
System.out.println("Name:"+name+" Money:"+money);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
}
Manage类
import java.util.ArrayList;
public class Manager extends User{
public Manager(String name, int money) {
super(name, money);
}
public Manager() {
super();
}
//需要一个集合用来存储发红包的个数以及各个金额
public ArrayList<Integer> List(int totalmoney,int count){//发的钱
ArrayList<Integer> list = new ArrayList<>();
int leftmoney = super.getMoney();//群主总共的钱
if(leftmoney < totalmoney) return list;//群主没那么多钱
int averagemoney = totalmoney/count;//平均每个人
int modemoney = totalmoney%count;//除不尽的余数加在list最后一个
for(int i = 0 ; i < count-1 ; i++){
list.add(averagemoney);
}
super.setMoney(leftmoney - totalmoney);//群主剩的钱
list.add(modemoney+averagemoney);
return list;//返回红包集合
}
}
Member类
import java.util.ArrayList;
import java.util.Random;
public class Member extends User{
public Member() {
super();
}
public Member(String name, int money) {
super(name, money);
}
public void receive(ArrayList<Integer> list){
int random = new Random().nextInt(list.size());//随即索引
int num = list.remove(random);//将这个数去除,并且取出
int money = super.getMoney()+num;//把钱加上
super.setMoney(money);//更新前的金额
}
}
调用
import java.util.ArrayList;
import java.util.Scanner;
public class Using {
public static void main(String[] args) {
Member A= new Member("贤哥",0);
Member B = new Member("超哥",0);
Member C = new Member("小哥",0);
Manager qun = new Manager("群主",10000);
System.out.println("原来的钱");
qun.show();
A.show();
B.show();
C.show();
System.out.println("================");
System.out.println("你想发多少");
int F = new Scanner(System.in).nextInt();
ArrayList<Integer> list = qun.List(F,3);
A.receive(list);
B.receive(list);
C.receive(list);
qun.show();
A.show();
B.show();
C.show();
}
}
运行结果:
5 双色球系统
代码实现:
package itheima;
import java.util.Scanner;
import java.util.Random;
public class seven {
public static void main(String[] args) {
int [] arr = creatarr();
int [] arr1 = maicaipiao();
jiage(find(arr,arr1),zuihouyige(arr,arr1));
}
private static void jiage(int num,int lannum){
int hongnum = num-lannum;
if (hongnum>=0 && lannum==1 &&hongnum<3){
System.out.println("恭喜中奖5元");
}else if ((hongnum==4&&lannum==0)||(hongnum==3 && lannum==1)){
System.out.println("恭喜中奖10元");
}else if ((hongnum==4&&lannum==1)||(hongnum==5 && lannum==0)){
System.out.println("恭喜中奖200元");
} else if(hongnum==5 && lannum==1){
System.out.println("恭喜中奖3000元");
}else if(hongnum==6 && lannum==0){
System.out.println("恭喜中奖500 0000元");
} else if (hongnum==6 && lannum==1) {
System.out.println("恭喜中奖1000 0000元");
}else
System.out.println("一分钱没中");
}
private static int zuihouyige(int [] arr1,int [] arr2){
int lannum=0;
if (arr1[6]==arr2[6]){
lannum=1;
}
return lannum;
}
private static int[] maicaipiao(){
Scanner P = new Scanner(System.in);
//int[] arr = new int[]{P.nextInt(),P.nextInt(),P.nextInt(),P.nextInt(),P.nextInt(),P.nextInt(),P.nextInt()};
int[] arr = new int[7];
for (int i = 0; i < 6;) {
System.out.println("输入第"+(i+1)+"个数:");
int num = P.nextInt();
if (num >0 && num<34) {
if (isPrime(arr,num)){
arr[i] = num;
i++;
}else
System.out.println("已经存在");
}else
System.out.println("输入范围错误");
}
System.out.println("输入第7个数:");
while(true){
int num7= P.nextInt();
if (num7>0 && num7<17) {
arr[6] = num7;
for (int i : arr) {
System.out.print(i+" ");
}
System.out.println(" ");
return arr;
}else
System.out.println("范围错误");
}
}
private static int[] creatarr() {
int[] arr = new int[7];//七色球
Random rand = new Random();
for (int i = 0; i < arr.length-1;) {
int suinum = rand.nextInt(33)+1;//前六个数1-33
if (isPrime(arr, suinum)) {
arr[i] = suinum;
i++;
}
}
arr[arr.length-1] = rand.nextInt(16)+1;//第七个数1-16
return arr;
}
private static boolean isPrime(int []arr,int n) {//是不是已经出现没有返回true
for (int i : arr) {
if (n==i){
return false;
}
}return true;
}
private static int find(int[] arr1, int[] arr2) {//多少个相同的
int i = 0, j = 0;
int count = 0;
while (i < arr1.length && j < arr2.length) {
if (arr1[i] == arr2[j]) {
count++;
i++; // 移动 arr1 的指针
j++; // 移动 arr2 的指针
} else if (arr1[i] < arr2[j]) {
i++;
} else {
j++;
}
}
return count;
}
}
6 用户登录
代码实现
用户名三次机会出错退出系统。
用户名正确进入系统输入密码,密码三次错误锁定用户。
import java.util.Scanner;
public class User {
public static void main(String[] args) {
String Username = "anxian";
String UserPassword = "123456";
Scanner sc = new Scanner(System.in);
String username = null;
int num = 0;
while (num < 3) {
System.out.println("输入你的用户名:");
username = sc.nextLine();
if (username.equals(Username)) {
break;
}else {
num++;
System.out.println("用户名错误,你还有"+(3-num)+"次机会");
}
}
if (username.equals(Username)) {
for (int i = 0; i < 3; i++) {
System.out.println("输入你的密码:");
String password = sc.nextLine();
if (password.equals(UserPassword)) {
System.out.println("登陆成功");
break;
} else {
System.out.println("信息错误还有" + (2 - i) + "次机会");
if (2-i == 0){
System.out.println("用户"+Username+"被锁定,请联系客服。");
}
}
}
}
}
}
7 金额转换
import java.util.Scanner;
public class abc {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
while (true){
System.out.println("enter a number");
n = sc.nextInt();
if ( n>0 && n<9999999 ){
break;
}else
System.out.println("输入错误");
}
String str="";
do {
int g = n % 10;
n = n / 10;
str = daxie(g).concat(str);//变成大写
} while (n != 0);
int len = str.length();
for (int i = 0; i < (7-len); i++) {//把前置零加上
String s = "零";
str = s.concat(str);
}
//方法一
// char []arr = str.toCharArray();//变成字符数组
// String last = "";
// last +=arr[0]+"百";
// last+=arr[1]+"拾";
// last+=arr[2]+"万";
// last+=arr[3]+"千";
// last+=arr[4]+"百";
// last+=arr[5]+"拾";
// last+=arr[6]+"元";
// System.out.println(last);
//方法二
String []arrs = {"百","拾","万","千","百","拾","元"};
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
System.out.print(ch);
System.out.print(arrs[i]);
}
}
private static String daxie(int n){
String []arr = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return arr[n];
}
}
8 手机号屏蔽
import java.util.Scanner;
public class abc {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String str1 = str.substring(0, 3);
String str2 = str.substring(str.length()-4);
System.out.println(str1+"****"+str2);
}
}
9 罗马数字转换
代码实现
import java.util.Scanner;
public class abc {
public static void main(String[] args) {
System.out.println("输入一个数字");
Scanner sc = new Scanner(System.in);
String str;
while (true) {
str = sc.next();
boolean flag = Isintnum(str);
if (flag) {
break;
}else
System.out.println("请重新输入");
}
StringBuilder p = new StringBuilder();
for (char c : str.toCharArray()) {
int i = c - '0';
p.append(Luoma(i));
}
System.out.println(p);
}
private static String Luoma(int num){
String [] arr = {"","I ","II ","III ","IV ","V ","VI ","VII ","VIII ","IX "};
return arr[num];
}
private static boolean Isintnum(String str){
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) < '0' || str.charAt(i) > '9') {
return false;
}
}
return true;
}
}
10 调整字符串
代码实现
import java.util.Scanner;
public class abc {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String next = sc.next();
String next2 = sc.next();
boolean flag = false;
for (int i = 0; i < next.length(); i++) {
next = xuanzhuan(next);
if (next2.equals(next)) {
System.out.println("YES");
flag = true;
}
}
if (!flag) {
System.out.println("NO");
}
}
private static String xuanzhuan(String next){
String s;
s = next.charAt(0)+"";
next = next.substring(1);
next = next+s;
return next;
}
}
11 初级学生管理系统
创建一个学生类
public class Student {
private String id;
private String name;
private int age;
private String address;
public Student() {
}
public Student(String id, String name, int age,String address) {
this.id = id;
this.name = name;
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
相关方法的实现
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManage {
public static void main(String[] args) {
ArrayList<Student> students = new ArrayList<>();
loop:
while (true) {
System.out.println(" ==欢迎来到学生管理系统==");
System.out.println(" 输入 1 - 添加学生信息");
System.out.println(" 输入 2 - 删除学生信息");
System.out.println(" 输入 3 - 更改学生信息");
System.out.println(" 输入 4 - 查询学生信息");
System.out.println(" 输入 5 - 退出系统");
System.out.println(" ");
System.out.print("输入你的需求: ");
Scanner sc = new Scanner(System.in);
int choice = sc.nextInt();
switch (choice) {
case 1: addstudent(students);break;
case 2: delstudent(students);break;
case 3: changestudent(students);break;
case 4: squrestudent(students);break;
case 5: {
System.out.println("已退出学生管理系统");
break loop;
} default:
System.out.println("没有这个选项,请重新输入:");
}
}
}
private static void squrestudent(ArrayList<Student> students) {//查询遍历,(空学生表的判断)
if (students.isEmpty()) {
System.out.println("请添加后再查询");
}else{
System.out.println("id 姓名 年龄 住址");
for (Student student : students) {
System.out.println(student.getId() + " " + student.getName()
+ " " + student.getAge() + " " + student.getAddress());
}
}
}
private static void changestudent(ArrayList<Student> students) {//更改学生表的成员,根据id信息更改
if (students.isEmpty()) {
System.out.println("请添加后再更改");
}else{
Scanner sc = new Scanner(System.in);
System.out.println("输入id");
String id = sc.next();
if(!idtest(students, id)){
System.out.println("id 匹配成功");
System.out.println("输入姓名");
String name = sc.next();
System.out.println("输入年龄");
int age = sc.nextInt();
System.out.println("输入地址");
String address = sc.next();
for (Student student : students) {
if (student.getId().equals(id)) {
student.setId(id);
student.setName(name);
student.setAge(age);
student.setAddress(address);
System.out.println("更改成功");
}
}
}else
System.out.println("无这个 id 信息,请重新选择你的需求");
}
}
private static void delstudent(ArrayList<Student> students) {
//删除学生表成员信息,要判断是否存在
System.out.println("请输入id信息");
Scanner sc = new Scanner(System.in);
String id = sc.next();
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getId().equals(id)) {
students.remove(i);
System.out.println("删除成功");
break;
}
if ( i == students.size() - 1) {
System.out.println("无这个学生信息,请添加之后再进行操作");
}
}
}
private static void addstudent(ArrayList<Student> students) {//添加学生表成员信息
// System.out.println("分别输入 id 姓名 年龄 住址");
// Scanner sc = new Scanner(System.in);
// Student student = new Student(sc.next(),sc.next(),sc.nextInt(),sc.next());//添加方法一
// students.add(student);
Student student = new Student();
Scanner sc = new Scanner(System.in);//添加方法二
System.out.println("输入id");
while(true){
String id = sc.next();
if (idtest(students,id)) {
student.setId(id);
break;
}else
System.out.println("id已经存在 请重新输入");
}
System.out.println("输入姓名");
String name = sc.next();
student.setName(name);
System.out.println("输入年龄");
int age = sc.nextInt();
student.setAge(age);
System.out.println("输入住址");
String address = sc.next();
student.setAddress(address);
students.add(student);
System.out.println("学生信息添加成功");
}
private static boolean idtest(ArrayList<Student> students,String id) { // 不存在返回true
for (Student student : students) {
if (student.getId().equals(id)) {
return false;
}
}
return true;
}
}
12 学生管理系统(升级版)
三种需求
用户账号注册
用户账号登陆
用户忘记密码
代码实现