Java 如何在某些行之后停止扫描仪
我正在做一个程序,要求扫描仪读取一定数量的行,但是,它不会在达到该数字后停止。以下是处理此部分的代码:Java 如何在某些行之后停止扫描仪,java,java.util.scanner,Java,Java.util.scanner,我正在做一个程序,要求扫描仪读取一定数量的行,但是,它不会在达到该数字后停止。以下是处理此部分的代码: for(int i=0;i<normal;i++) { int x=0; int y=0; String ans=in.nextLine(); int[] arraya=createaarray(ans); x=arraya[0]; y=arraya[1];
for(int i=0;i<normal;i++)
{
int x=0;
int y=0;
String ans=in.nextLine();
int[] arraya=createaarray(ans);
x=arraya[0];
y=arraya[1];
matrix[x][y]=true;
}
for(int i=0;i假设您的createaarray
方法返回empty
或null
数组,如果输入无效,则需要在执行其余代码之前添加if
条件,以确保获得有效的数组,例如:
if(null != arraya && arraya.length > 1){
x=arraya[0];
y=arraya[1];
matrix[x][y]=true;
}
此外,一旦完成,您可以通过调用close()
方法关闭扫描仪。如果“normal-1”是要读取的行数,那么您应该将循环“normal-1”迭代几次。在您的代码中,我看到您以0开始,以“normal”结束。数组的迭代完全是“normal”时间。应该这样做:
for(int i=0 ; i < normal - 1; i++) {
int x = 0;
int y = 0;
String ans = in.nextLine();
int[] arraya = createaarray(ans);
x = arraya[0];
y = arraya[1];
matrix[x][y] = true;
}
for(int i=0;i
检查ans
是否为空,例如ans.isEmpty()
?显示整个代码。您可以从Apache库使用。
for(int i=0 ; i < normal - 1; i++) {
int x = 0;
int y = 0;
String ans = in.nextLine();
int[] arraya = createaarray(ans);
x = arraya[0];
y = arraya[1];
matrix[x][y] = true;
}