黑马程序员技术交流社区
标题:
scanner中nextLine()和nextInt()一起使用问题
[打印本页]
作者:
ypenghui
时间:
2016-5-13 13:43
标题:
scanner中nextLine()和nextInt()一起使用问题
今天小编浏览论坛时候,碰到一个关于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键等视为分隔符或结束符。
各位小伙伴还有什么更好的建议吗?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2