Filled/Unfilled 来自文件的矩形

Filled/Unfilled Rectangle From File

该项目应该读取一个文件,其中文件的第一行告诉要制作多少个矩形,其余的是尺寸以及是否填充。假设一个 Rectangle class 和一个 toString 来格式化矩形。当设置变量 numLines 时,我在 while 循环的第一行收到输入不匹配错误,需要一些帮助。

public static void main(String[] args) {
        int columns = 0;
        int rows = 0;
        int numLines = 1;
        String fill;
        boolean filled = false;
        
        //first line of file creates array size
        Rectangle[] rectangle = new Rectangle[numLines];
        Scanner inFile = new Scanner("rectangle.txt");
        
        //reads file 
        while (inFile.hasNext()) {
            numLines = inFile.nextInt();
            for (int i=0; i<numLines; i++) {
                columns = inFile.nextInt();
                rows = inFile.nextInt();
                fill = inFile.nextLine();
                if (fill.equals("filled")) {
                    filled = true;
                }
                Rectangle rec = new Rectangle(rows, columns, filled);
                rectangle = new Rectangle[numLines];
                rectangle[i] = rec;
            }

//example of file being read

    6
    6 3 filled
    3 6 unfilled
    4 4 filled
    6 6 unfilled
    9 4 filled
    4 8 unfilled

I am getting an input mismatch error

Scanner inFile = new Scanner("rectangle.txt");

您正在使用文本字符串而不是文件创建扫描仪。文本字符串“rectangle.txt”不是一个整数值。

如果你想从一个文件中读取,那么你需要指定一个文件作为参数:

Scanner inFile = new Scanner(new File("rectangle.txt"));