第八章所有五个试一试,均包含在此练习中。
原题:输出”奖客富翁系统”菜单,选择菜单编号,输出菜单信息,如果编号选择错误,输出”您的输入有误!”
参考代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | /* * 输出"奖客富翁系统"菜单,选择菜单编号,输出菜单信息,如果编号选择错误,输出"您的输入有误!" */ import java.util.Scanner; public class P178_1{ public static void main (String[]args){ Scanner input = new Scanner (System.in); System.out.println("*****欢迎进入奖客富翁系统*****"); System.out.println("\t1.注册"); System.out.println("\t2.登录"); System.out.println("\t3.抽奖"); System.out.println("***************************"); System.out.println("请选择菜单:"); int num = input.nextInt(); switch (num){ case 1: System.out.println("[奖客富翁系统 > 注册]"); break; case 2: System.out.println("[奖客富翁系统 > 登录]"); break; case 3: System.out.println("[奖客富翁系统 > 抽奖]"); break; default : System.out.println("您的输入有误!"); break; } } } |
原题:用户选择一项菜单并输出菜单信息后,系统询问用户是否继续.
如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统.
参考代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | /* * 用户选择一项菜单并输出菜单信息后,系统询问用户是否继续. * 如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统. */ import java.util.Scanner; public class P179_2{ public static void main (String[]args){ Scanner input = new Scanner(System.in); System.out.println("******欢迎进入奖客富翁系统******"); System.out.println("\t1.注册"); System.out.println("\t2.登录"); System.out.println("\t3.抽奖"); System.out.println("*******************************"); String yes = "";//询问是否继续 do { System.out.println("请选择菜单:"); int num = input.nextInt();//获取菜单编号 switch (num){ case 1 : System.out.println("奖客富翁系统>注册"); break; case 2 : System.out.println("奖客富翁系统>登录"); break; case 3 : System.out.println("奖客富翁系统>抽奖"); break; default: System.out.println("输入错误,重新输入!"); break; } System.out.println("继续吗?(y/n):"); yes = input.next(); } while (!"n".equals(yes)); //当yes的值为n时,结束循环 System.out.println("程序结束!"); } } |
原题:
用户选择“注册”菜单,进入注册功能。
系统提示用户输入用户名和密码,系统产生四位随机数作为卡号。
注册成功。
参考代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | /* * 用户选择“注册”菜单,进入注册功能。 * 系统提示用户输入用户名和密码,系统产生四位随机数作为卡号。 * 注册成功。 */ import java.util.Scanner; public class P179_3{ public static void main (String[]args){ Scanner input = new Scanner (System.in); String org = "";//询问是否继续 String id = "";//存储用户名 String passWord = "" ;//存储密码 int max = 9999 ;//随机数最大值 int min = 1000 ;//随机数最小值 int cardNumber = (int)(Math.random()*(max-min))+min;//输出随机数 do { //输出菜单 System.out.println("******欢迎进入奖客富翁系统******"); System.out.println("\t1.注册"); System.out.println("\t2.登录"); System.out.println("\t3.抽奖"); System.out.println("*******************************"); System.out.println("请选择菜单:"); int num = input.nextInt(); switch (num){ case 1 : System.out.println("[奖客富翁系统>注册]"); System.out.println("请填写个人注册信息:"); System.out.print("用户名:\t"); id = input.next(); System.out.print("密码(可包含字母及数字,注意:字母区分大小写):\t"); passWord = input.next(); System.out.println(); System.out.println(); System.out.println("注册成功,请记好您的会员卡号"); System.out.println("用户名\t密码\t会员卡号"); System.out.println(id+"\t"+passWord+"\t"+cardNumber); break; case 2 : System.out.println("[奖客富翁系统>登录]"); break; case 3 : System.out.println("[奖客富翁系统>抽奖]"); break; default: System.out.println("输入出错,请重新输入!"); break; } System.out.println("是否继续(y/n)?"); org = input.next(); }while (!"n".equals(org));//当org等于n时,结束循环 System.out.println("系统退出,谢谢使用!"); } } |
原题:
注册成功后,用户选择登录菜单,进入登录功能(注册与登录均已整合,也就是必须先注册,后才能登录)
输入注册时的用户名和密码,登录成功.系统提示欢迎信息
如果用户名和密码输入错误,提示用户继续输入,最多有三次输入机会.
参考代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | /* * 注册成功后,用户选择登录菜单,进入登录功能(注册与登录均已整合,也就是必须先注册,后才能登录) * 输入注册时的用户名和密码,登录成功.系统提示欢迎信息 * 如果用户名和密码输入错误,提示用户继续输入,最多有三次输入机会. */ import java.util.Scanner; public class P180_4{ public static void main (String[]args){ Scanner input = new Scanner (System.in); String id = "";//存储用户名 String passWord = "" ;//存储密码 String VerifyPassword = "" ;//验证登录密码 int max = 9999 ;//随机数最大值 int min = 1000 ;//随机数最小值 int i = 0; boolean kas=true; int cardNumber = (int)(Math.random()*(max-min))+min;//输出随机数 for (i=0;i<100;i++){ //登录的循环结构 System.out.println("******欢迎进入奖客富翁系统******"); System.out.println("\t1.注册"); System.out.println("\t2.登录"); System.out.println("\t3.抽奖"); System.out.println("*******************************"); System.out.println("请选择菜单:"); int num = input.nextInt(); switch (num){ //菜单选择 case 1 : System.out.println("[奖客富翁系统>注册]"); System.out.println("请填写个人注册信息:"); System.out.print("用户名:\t"); id = input.next();//储存用户名 System.out.print("密码(可包含字母及数字,注意:字母区分大小写):\t"); passWord = input.next();//储存密码 System.out.println(); System.out.println(); System.out.println("注册成功,请记好您的会员卡号"); System.out.println("用户名\t密码\t会员卡号"); System.out.println(id+"\t"+passWord+"\t"+cardNumber);//输出用户信息 break; case 2 : System.out.println("[奖客富翁系统>登录]"); System.out.print("请输入用户名:\t"); id = input.next(); //录入刚才键入的用户名 System.out.print("请输入密码:\t"); VerifyPassword = input.next(); //验证密码 /* * java中判断两个字符串的值相等 * String str1 = input.nextInt(); * String str2 = input.nextInt(); * str1.equals(str2);//比较两个字符串值是否相同 * str1 = str2;//结果为Boolean值,比较引用是否相同 */ if ("admin".equals(id) && VerifyPassword.equals(passWord) ){ //假如用户名和密码输入正确,输出欢迎 System.out.println(); System.out.println(); System.out.println("欢迎您:\t"+id); } else if ("admin".equals(id) || VerifyPassword.equals(passWord)){ //用户名及密码有一项错误,提示用户重新输入,并且只能输入三次 System.out.println("抱歉,用户名或者密码输入出错,请重新输入!"); for (int j=4;j>1;j--){ //判断输入机会是否达到3次 System.out.println("您还有"+(j-1)+"次输入机会!"); System.out.print("请输入用户名:\t"); id = input.next(); System.out.print("请输入密码:\t"); VerifyPassword = input.next(); if ("admin".equals(id) && VerifyPassword.equals(passWord) ){//输入正确,输出欢迎提示 System.out.println(); System.out.println(); System.out.println("欢迎您:\t"+id); break; } else if (j==2){//三次均输入错误,结束循环,程序停止 System.out.println("抱歉,三次均输入错误!"); kas = false; break; } } } break; case 3 : System.out.println("[奖客富翁系统>抽奖]"); break; default: System.out.println("输入出错,请重新输入!"); break; } if (kas == false){//当j==2时,使用break退出for循环,直接结束 break; //j=4,(4-1=3,3-1=2,2-1=1)因为我们只需要循环3次,所以当j=2时即可停止循环 } System.out.println("是否继续(y/n)?"); String net = input.next(); if (!"y".equals(net)){//当net不等于y时继续循环,否则退出循环 break; } } System.out.println("***********************************"); System.out.println("系统退出,谢谢使用!"); } } |
原题:
登录成功后,用户选择幸运”抽奖”菜单,进入幸运抽奖功能.
输入会员卡号,系统生成五个四位随机数作为幸运数字.
如果会员卡号是其中之一,则成为本日幸运会员;否则不是.
参考代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | /* * 登录成功后,用户选择幸运"抽奖"菜单,进入幸运抽奖功能. * 输入会员卡号,系统生成五个四位随机数作为幸运数字. * 如果会员卡号是其中之一,则成为本日幸运会员;否则不是. */ import java.util.Scanner; public class P181_5{ public static void main (String[]args){ Scanner input = new Scanner (System.in); String id = "";//存储用户名 String passWord = "" ;//存储密码 String VerifyPassword = "" ;//验证登录密码 int max = 9999 ;//随机数最大值 int min = 1000 ;//随机数最小值 int cardNumber1 = (int)(Math.random()*(max-min))+min;//输出本日幸运数字 int cardNumber2 = (int)(Math.random()*(max-min))+min;//输出本日幸运数字 int cardNumber3 = (int)(Math.random()*(max-min))+min;//输出本日幸运数字 int cardNumber4 = (int)(Math.random()*(max-min))+min;//输出本日幸运数字 int cardNumber5 = (int)(Math.random()*(max-min))+min;//输出本日幸运数字 int sum = 0 ;//录入会员卡号 int i = 0; boolean kas=true; //判断循环条件 int cardNumber = (int)(Math.random()*(max-min))+min;//输出随机数 for (i=0;i<100;i++){ //登录的循环结构 System.out.println("******欢迎进入奖客富翁系统******"); System.out.println("\t1.注册"); System.out.println("\t2.登录"); System.out.println("\t3.抽奖"); System.out.println("*******************************"); System.out.println("请选择菜单:"); int num = input.nextInt(); switch (num){ //菜单选择 case 1 : System.out.println("[奖客富翁系统>注册]"); System.out.println("请填写个人注册信息:"); System.out.print("用户名:\t"); id = input.next();//储存用户名 System.out.print("密码(可包含字母及数字,注意:字母区分大小写):\t"); passWord = input.next();//储存密码 System.out.println(); System.out.println(); System.out.println("注册成功,请记好您的会员卡号"); System.out.println("用户名\t密码\t会员卡号"); System.out.println(id+"\t"+passWord+"\t"+cardNumber);//输出用户信息 break; case 2 : System.out.println("[奖客富翁系统>登录]"); System.out.print("请输入用户名:\t"); id = input.next(); //录入刚才键入的用户名 System.out.print("请输入密码:\t"); VerifyPassword = input.next(); //验证密码 /* * java中判断两个字符串的值相等 * String str1 = input.nextInt(); * String str2 = input.nextInt(); * str1.equals(str2);//比较两个字符串值是否相同 * str1 = str2;//结果为Boolean值,比较引用是否相同 */ if ("admin".equals(id) && VerifyPassword.equals(passWord) ){ //假如用户名和密码输入正确,输出欢迎 System.out.println(); System.out.println(); System.out.println("欢迎您:\t"+id); } else if ("admin".equals(id) || VerifyPassword.equals(passWord)){ //用户名及密码有一项错误,提示用户重新输入,并且只能输入三次 System.out.println("抱歉,用户名或者密码输入出错,请重新输入!"); for (int j=4;j>1;j--){ //判断输入机会是否达到3次 System.out.println("您还有"+(j-1)+"次输入机会!"); System.out.print("请输入用户名:\t"); id = input.next(); System.out.print("请输入密码:\t"); VerifyPassword = input.next(); if ("admin".equals(id) && VerifyPassword.equals(passWord) ){//输入正确,输出欢迎提示 System.out.println(); System.out.println(); System.out.println("欢迎您:\t"+id); break; } else if (j==2){//三次均输入错误,结束循环,程序停止 System.out.println("抱歉,三次均输入错误!"); kas = false; break; } } } break; case 3 : System.out.println("[奖客富翁系统>抽奖]"); System.out.println("请输入您的会员卡号:"); sum = input.nextInt();//录入会员卡号 System.out.println(); System.out.println(); if (sum==cardNumber1 || sum==cardNumber2 || sum==cardNumber3 || sum==cardNumber4 || sum==cardNumber5 ){ System.out.println("本日的幸运数字为:"+cardNumber1+"\t"+cardNumber2+"\t"+cardNumber3+"\t"+cardNumber4+"\t"+cardNumber5); System.out.println("您输入的卡号是:"+sum); System.out.println("恭喜,您是本日的幸运会员!"); } else { System.out.println("本日的幸运数字为:"+cardNumber1+"\t"+cardNumber2+"\t"+cardNumber3+"\t"+cardNumber4+"\t"+cardNumber5); System.out.println("您输入的卡号是:"+sum); System.out.println("抱歉,您不是本日的幸运会员!"); } break; default: System.out.println("输入出错,请重新输入!"); break; } if (kas == false){//当j==2时,使用break退出for循环,直接结束 break; //j=4,(4-1=3,3-1=2,2-1=1)因为我们只需要循环3次,所以当j=2时即可停止循环 } System.out.println("是否继续(y/n)?"); String net = input.next(); if (!"y".equals(net)){//当net不等于y时继续循环,否则退出循环 break; } } System.out.println("***********************************"); System.out.println("系统退出,谢谢使用!"); } } |