import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
public class test{
public static final int SIZE = 30;
public static final int DUE_DATE = 15;
public static final int TASK_NUMBER = 30;
public static void main(String[] args)throws FileNotFoundException{
Scanner console = new Scanner(System.in);
System.out.println("Enter input file: ");
String inputCompletionName = console.next();
boolean[][] completion = new boolean[TASK_NUMBER][SIZE];
File inputCompletion = new File(inputCompletionName);
Scanner in = new Scanner(inputCompletion);
int i = 0, j = 0;
for(j = 0; j < SIZE; j++){
for(i = 0; i < TASK_NUMBER; i++){
while(in.hasNextBoolean()){
boolean input = in.nextBoolean();
completion[i][j] = input;
}
System.out.println(completion[i][j]);
}
}
}
我尝试了这段代码。我的输入是一些布尔值,但输出只有第一个元素。真的不知道该如何解决。
我的输入文件只是一些像这样的随机布尔值。
是 假 真正 假 是
但是输出仅显示第一个元素。
答案 0 :(得分:1)
问题是这样的:
while(in.hasNextBoolean()) {
boolean input = in.nextBoolean();
completion[i][j] = input;
}
那是在您的2个for循环内,因此您将布尔值读入同一网格单元中。
这将起作用:
for(j = 0; j < SIZE && in.hasNextBoolean(); j++){
for(i = 0; i < TASK_NUMBER && in.hasNextBoolean(); i++){
boolean input = in.nextBoolean();
completion[i][j] = input;
System.out.println(completion[i][j]);
}
}