今天小编浏览论坛时候,碰到一个关于scanner中nextLine()和nextInt()一起使用问题,案例代码如下:
- public class mark {
- public static void main(String[] args) {
- int[][] mk=new int[3][3];
- int i,j,k=0;
- String[] sb={"语文","数学","英语"};
- String[] nm=new String[3];
- Scanner scan=new Scanner(System.in);
- for (i=0;i<3;i++){
- System.out.println("请输入第"+(i+1)+"个学生的名字");
- nm[i]=scan.nextLine();
- for(j=0;j<3;j++){
- System.out.println("请输入"+nm[i]+"的"+sb[j]+"成绩");
- mk[i][j]=scan.nextInt();
- }
- }
- }
- }
复制代码 案例中scanner中nextLine()和nextInt()一起使用了,结果程序执行第二个for循环时出现了问题;把他们都改成nextLine()
至于原理,貌似是nextLine()是以\r\n为结束标记的,但不存储\r\n;nextInt方法将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
各位小伙伴还有什么更好的建议吗?
|
|