我在做一個程序,要求掃描儀讀取一定數量的行,但是在達到該數字後它不會停止。下面是處理這部分代碼:如何在某些行後停止掃描儀
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;
}
普通-1是它需要讀取的行數,並createaarray是它使用兩個數字,在它們之間的空間的方法,並把它們放在一個陣列。因此,x是第一個數字,y是第二個數字。但是,讀取「正常」行數後掃描器不會關閉,並且輸入將會導致數字形式的錯誤。示例輸入和錯誤:
0 1
0 2
2 3
4 3
6 1
1 5
7 3
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at treez.createaarray(treez.java:83)
at treez.run(treez.java:45)
at treez.<init>(treez.java:8)
at treez.main(treez.java:90)
我明白這是由空輸入引起的,但是我不知道如何解決它。一些幫助,將不勝感激
檢查「ans」爲空,例如'ans.isEmpty()'?? – Andreas
顯示整個代碼。 – nhouser9
您可以使用[StringUtils#isNumeric](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#isNumeric-java.lang.CharSequence-) Apache庫。 –