java吧 关注:1,236,669贴子:12,707,676
  • 10回复贴,共1

【提问】为什么Scanner读中文会出现BUG?

只看楼主收藏回复

求大神解决 代码如下
Scanner in=new Scanner(System.in);
System.out.println("请输入学生的人数:");
int studentnum=in.nextInt();
System.out.println("请输入科目数量");
int classnum=in.nextInt();
String[] name=new String[studentnum];
String[] classname=new String[classnum];
for(int i=0;i<name.length;i++){
System.out.println("请输入第"+(i+1)+"个学生的名字");
name[i]=in.next();
}
for(int i=0;i<classname.length;i++){
System.out.println("请输入第"+(i+1)+"个课程的名字");
classname[i]=in.next();
}
然后输出的时候就会出现这个问题

在“输入第一个学生的名字”的地方就会出现输入一个名字之后还会让你输入 不输入的话无法进行到下一行的指令
然后后面的输入课程名字就直接跳出来俩
求大神解决啊


1楼2015-10-07 22:45回复
    秒沉吗...


    2楼2015-10-07 22:52
    收起回复
      用nextLine看看


      IP属地:浙江3楼2015-10-07 22:53
      收起回复

        @Fair_Jm 这是效果..


        4楼2015-10-07 23:02
        回复

          用英文就完全可以啊


          5楼2015-10-07 23:05
          回复
            把in.next()改成in.nextLine()


            IP属地:北京来自Android客户端6楼2015-10-07 23:10
            收起回复
              解决了、、
              工程 属性 源 编码 GBK
              然后就OK了
              谢谢大家帮助辣


              7楼2015-10-07 23:31
              收起回复