如何使此停止超过防止崩溃的实际值?
String[][] firstLine = new String[8][10];
Scanner input = new Scanner(new File("lab1.dat"));
String temp2 = " ";
for(int i = 0; i < firstLine.length; i++){
for(int j = 0; j < firstLine[i].length; j++){
firstLine[i][j] = input.nextLine();
System.out.println(firstLine[i][j] );
1000 1011 1006 1211 1854 1799 10 34 18 96 45
10 R W X O A N O N N N X
34 N A W X X R N O N R N
18 W N N A X N N N O N N
96 W W W R R X N R N O W
45 R W N O N N N N X R O
10 1006
34 1000
34 34
96 1211
96 1854
45 18
34 1211
-1 -1
答案 0 :(得分:0)
查看扫描程序方法hasNextLine()并尝试在代码中使用它。 也许是这样的:
String[][] firstLine = new String[8][10];
Scanner input = new Scanner(new File("lab1.dat"));
String temp2 = " ";
for(int i = 0; i < firstLine.length; i++){
for(int j = 0; j < firstLine[i].length; j++){
if(input.hasNextLine()){
firstLine[i][j] = input.nextLine();
System.out.println(firstLine[i][j] );
}
或者您可以try-catch
使用nextLine()
方法并在NoSuchElementException
阻止中处理catch
。
答案 1 :(得分:0)
我认为您在调用input.hasNextLine()
时必须使用nextLine
,您应该检查扫描仪是否有。{/ p>
try {
String[][] firstLine = new String[8][10];
Scanner input = new Scanner(new File("lab1.dat"));
int count = 0 ;
//80 is the number of lines you want to read
while(input.hasNextLine() && count < 80){
firstLine[count%8][count%10] = input.nextLine();
System.out.println( firstLine[count%8][count%10]);
count++;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}