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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天小编浏览论坛时候,碰到一个关于scanner中nextLine()和nextInt()一起使用问题,案例代码如下:
  1.     public class mark {
  2.        public static void main(String[] args) {
  3.                   int[][] mk=new int[3][3];
  4.               int i,j,k=0;
  5.               String[] sb={"语文","数学","英语"};
  6.               String[] nm=new String[3];
  7.               Scanner scan=new Scanner(System.in);
  8.               for (i=0;i<3;i++){
  9.                         System.out.println("请输入第"+(i+1)+"个学生的名字");
  10.                         nm[i]=scan.nextLine();
  11.                          for(j=0;j<3;j++){
  12.                                   System.out.println("请输入"+nm[i]+"的"+sb[j]+"成绩");
  13.                                   mk[i][j]=scan.nextInt();
  14.                         }
  15.               }
  16.        }
  17.     }


复制代码
案例中scanner中nextLine()和nextInt()一起使用了,结果程序执行第二个for循环时出现了问题;把他们都改成nextLine()
至于原理,貌似是nextLine()是以\r\n为结束标记的,但不存储\r\n;nextInt方法将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。

各位小伙伴还有什么更好的建议吗?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马