为了账号安全,请及时绑定邮箱和手机立即绑定

input.next();//这句话是什么意思呢

input.next();//这句话是什么意思呢

溯源1 2017-11-02 08:29:23
    /** 二、创建两名玩家      *玩家至少要有ID、姓名、手牌等属性,手牌为扑克牌的集合      */     public void addPlayers(){             System.out.println("-------------创建玩家-----------------");             int i = 1;             while(true){                 System.out.println("请输入第"+i+"位玩家的ID和姓名:");             try {                 System.out.println("输入ID:");                 int id = input.nextInt();                 Players pl = players.get(id);                 if( pl == null){                     System.out.println("输入姓名:");                     String name = input.next();                     Players player = new Players(id,name);                     players.put(id, player);                     System.out.println("成功添加玩家:"+players.get(id).name+"\n");                     i++;                  }                 else{                     System.out.println("该ID以已被占用!");                     continue;                 }                 if(i > 2)                     break;             } catch (InputMismatchException e) {                 System.out.println("请输入整数类型的ID!");                 input.next();//这句话是什么意思呢                 continue;             }             }             System.out.println("---------------玩家创建完成----------------");             Set<Integer> keySet = players.keySet();             for (Integer integer : keySet) {                 System.out.println("   ---------欢迎玩家:"+players.get(integer).name+"----------");             }             System.out.println();    
查看完整描述

3 回答

?
Goraidh

TA贡献3条经验 获得超1个赞

input.next()接收用户控制台输入的字符串

查看完整回答
反对 回复 2017-11-02
?
末日泣歌

TA贡献35条经验 获得超18个赞

next()一定要读取到有效字符后才可以结束输入 对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符 next()方法会自动将其去掉 只有在输入有效字符之后 next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符 简单地说 next()查找并返回来自此扫描器的下一个完整标记 完整标记的前后是与分隔模式匹配的输入信息 所以next方法不能得到带空格的字符串

而且 你还写了nextInt() 而nextLine()方法的结束符只是Enter键 即nextLine()方法返回的是Enter键之前的所有字符 它是可以得到带空格的字符串的 意思就是说 nextInt()读到有效值后就结束 输完数字后按的回车符还存在 nextLine()读取到回车符就直接结束 所以结果就类似于跳过了该条输入语句

总结一下就是 input.next()就是接收键盘输入的数据 用空格隔开的下一个字符串

希望对你有所帮助

查看完整回答
反对 回复 2017-11-02
  • 3 回答
  • 1 关注
  • 3518 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信