黑马程序员技术交流社区

标题: 在基础班的几天 [打印本页]

作者: 姚成晖    时间: 2016-1-1 11:39
标题: 在基础班的几天
本帖最后由 我是坏人, 于 2016-1-22 00:38 编辑
  1. import java.util.Scanner;
  2. import java.util.Random;

  3. public class GameTest {
  4.         public static void main(String[] args) {
  5.                 Scanner sc = new Scanner(System.in);
  6.                 System.out.println("***********欢迎使用游戏小系统***********");
  7.                 System.out.println("1---新用户注册");
  8.                 System.out.println("2---直接登陆");
  9.                 System.out.println("3---退出登陆");
  10.                 System.out.println("请选择对应的编号进行下一步操作~");
  11.                 int input = sc.nextInt();
  12.                 Login login = new Login();
  13.                
  14.                 switch (input) {
  15.                 case 1:
  16.                         login.login();
  17.                 case 2:
  18.                         login.denglu();
  19.                         break;
  20.                 case 3:
  21.                         Login.exit();
  22.                         break;
  23.                 default:
  24.                         System.out.println("输入错误,自动关闭");
  25.                         }
  26.                 if(input==1||input==2){
  27.                         while (true) {
  28.                                 System.out.println("1---猜数字小游戏\t2---点名器\t3---退出登陆");
  29.                                 System.out.println("请选择对应的编号进行下一步操作~");
  30.                                 int input2 = sc.nextInt();
  31.                                 switch (input2) {
  32.                                 case 1:
  33.                                         GameStart.GuessNumberGame();
  34.                                         System.out.println("----------------------");
  35.                                         break;
  36.                                 case 2:
  37.                                         GameStart.RollCall();
  38.                                         System.out.println("----------------------");
  39.                                         break;
  40.                                 case 3:
  41.                                         Login.exit();
  42.                                         break;
  43.                                         default:
  44.                                                 System.out.println("输入有误,请重新输入!!!");
  45.                                 }
  46.                         }
  47.                 }
  48.         }
  49. }
  50. class Login {
  51.         private String username="admin"; // 账号
  52.         private String password="admin"; // 密码
  53.         
  54.         Login() {
  55.         }

  56.         Login(String username, String password) {
  57.                 this.username = username;
  58.                 this.password = password;
  59.         }

  60.         public void setUsername(String username) {
  61.                 this.username = username;
  62.         }

  63.         public String getUsername() {
  64.                 return username;
  65.         }

  66.         public void setPassword(String password) {
  67.                 this.password = password;
  68.         }

  69.         // 注册的方法
  70.         public void login() {
  71.                 System.out.println("注册信息:");
  72.                 while (true) {
  73.                         System.out.println("请输入您要注册的用户名:");
  74.                         Scanner sc = new Scanner(System.in);
  75.                         username = sc.nextLine();
  76.                         System.out.println("请输出您要设置的密码:");
  77.                         password = sc.nextLine();
  78.                         System.out.println("请再次输入您要设置的密码,(必须保证一致):");
  79.                         if (sc.nextLine().equals(password)) {
  80.                                 System.out.println("注册成功,请登陆");
  81.                                 break;
  82.                         } else {
  83.                                 System.out.println("二次密码输入不一致,请重新注册");
  84.                         }
  85.                 }
  86.         }
  87.         // 键盘录入用户输入的用户名和密码

  88.                 /*
  89.                  * 比较用户名和密码。 如果都相同,则登陆成功。 如果有一个不同,则登陆失败
  90.                  */
  91.                
  92.                 public void denglu(){
  93.                         for (int count = 1; count <= 3; count++) {
  94.                                 Scanner sc = new Scanner(System.in);
  95.                                 System.out.println("请输入用户名:");
  96.                                 String username2 = sc.nextLine();
  97.                                 System.out.println("请输入密码:");
  98.                                 String password2 = sc.nextLine();
  99.                                 if (username.equals(username2) && password.equals(password2)) {
  100.                                         System.out.println("登陆成功");
  101.                                         System.out.println("---------------------------------");
  102.                                         break;
  103.                                 } else {
  104.                                         if (count == 3) {
  105.                                                 System.out.println("您的登陆次数已用完,无法继续登陆");
  106.                                         } else {
  107.                                                 System.out.println("登陆失败,还剩下" + (3 - count) + "次机会");
  108.                                         }
  109.                                 }

  110.                         }
  111.                 }
  112.                 public static void exit(){
  113.                         System.out.println("欢迎您的到来,下次再见!");
  114.                         System.out.println("***********欢迎使用游戏小系统***********");
  115.                 }
  116.         }
  117. class GameStart {
  118.         public static void GuessNumberGame() {

  119.                 int x=(int)(Math.random()*100+1);
  120.                 System.out.println("请输入一个数字1-100");
  121.                 Scanner sc=new Scanner(System.in);
  122.                 while(true){
  123.                         int number=sc.nextInt();
  124.                         if(number==x){
  125.                                 System.out.println("恭喜您,猜对了");
  126.                                 break;
  127.                         }else if(number>x){
  128.                                 System.out.println("您输入的数大了,请重新输入");
  129.                         }else
  130.                                 System.out.println("您输入的数小了,请重新输入");
  131.                 }
  132.         }
  133.         /*                点名器思路:  1把学生录入到一个 String[]   
  134.                                               2生成一个随机数
  135.                           3.这个随机数匹配数组的下标,如果一样,取出该数组中的元素(名字)
  136.                                           分析: 返回值是以个String类型
  137.          *
  138.          * */
  139.         public static String RollCall(){
  140.                 String[] str={"张三","李四","姚五","赵六","魏七","杜八","王九","鲍十","郭十一","张十二"};
  141.                 Random random=new Random();
  142.                 int x=random.nextInt(9);
  143.                 return str[x];
  144.         }
  145. }
复制代码


基础班刚学几天~别笑话我
作者: 姚成晖    时间: 2016-1-1 12:05
{:2_33:}{:2_33:}{:2_33:}{:2_33:}{:2_33:}
作者: 鳌少宝    时间: 2016-1-1 15:53
刚学几天就能编出这么长的代码 ,厉害啊
作者: hbcoding    时间: 2016-1-2 19:05
建议将注册的用户名和密码用IO流输出到一个文件里,登录的时候从文件里查找相应的用户,这样就更完美了。
你的程序里,当连续三次登录出错时,应该退出程序。而你的程序是直接进入,这里修改一下。
你的点名游戏是没有问题的,只是上面调用的时候,要把返回的字符串输出一下吧。或者把RollCall方法的返回值设置为void,在方法里面添加打印语句也可以。
作者: 姚成晖    时间: 2016-1-2 23:16
hbcoding 发表于 2016-1-2 19:05
建议将注册的用户名和密码用IO流输出到一个文件里,登录的时候从文件里查找相应的用户,这样就更完美了。
...

谢谢指点 已修改。
作者: 姚成晖    时间: 2016-1-2 23:17
鳌少宝 发表于 2016-1-1 15:53
刚学几天就能编出这么长的代码 ,厉害啊

学一点知识点 往里添加一个知识点呗 一步一步慢慢来




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2