A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冷锋也温柔 中级黑马   /  2014-8-18 21:48  /  1300 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class StringTest2 {
        public static void main(String[] args) {
       
                String name = "admin";
                String pwd = "admin";

                // x=0,1,2
                for (int x = 0; x < 3; x++) {
       
                        Scanner sc = new Scanner(System.in);   它为什么要放在for循环中呢   
                        System.out.println("请输入用户名:");
                        String username = sc.nextLine();
                        System.out.println("请输入密码:");
                        String password = sc.nextLine();
               
                        if (name.equals(username) && pwd.equals(password)) {
                                System.out.println("登录成功,你就可以开始完猜数字小游戏了");
                                Game.palyGame();
                                break;
                        } else {
                                // 2,1,0
                                if ((2 - x) == 0) {
                                        System.out.println("帐号被锁定,请与管理员联系");
                                } else {
                                        System.out.println("登录失败,你还有" + (2 - x) + "次机会");
                                }
                        }
                }
        }
}

8 个回复

正序浏览
学习学习
回复 使用道具 举报
因为你有三次登陆的机会啊..
回复 使用道具 举报
哦哦 明白了 感谢这么耐心:handshake
回复 使用道具 举报
冷锋也温柔 发表于 2014-8-19 23:18
只写主方法了  必须放里面  否则运行出错  挺郁闷

我的意思是放for循环的上面,不要放里面,要不然每次都要创建Scanner对象  
回复 使用道具 举报
ssy1939 发表于 2014-8-19 04:49
不放也可以,   放for里面的话,每循环一次都new一次,很浪费资源的说        还有,你没导包怎么用Scanner ...

只写主方法了  必须放里面  否则运行出错  挺郁闷
回复 使用道具 举报
我也感觉得放了外面, 在里面太浪费资源了, 每次都得new一个
回复 使用道具 举报
我觉得应该把他定义在外面,然后在里面传值,比较没那么浪费资源
回复 使用道具 举报
不放也可以,   放for里面的话,每循环一次都new一次,很浪费资源的说        还有,你没导包怎么用Scanner
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马