我有以下文本文件,其数据结构如下: 第一行是板的高度和宽度。 该文件的后续每一行都包含四个整数,描述棋盘中的一个 block : block 的高度和宽度(均大于 0),以及 block 左上角的行和列。 我想编写一个程序来读取文件并在控制台上打印所有板卡。谁能指出我正确的方向?
文本文件的内容:
5,4
2,1,0,0
2,2,0,1
2,1,0,3
2,1,2,0
2,1,2,3
1,2,2,1
1,1,3,1
1,1,3,2
1,1,4,0
1,1,4,3
这是我想要实现的最终结果:一 block 大板,上面有十个不同尺寸的小块enter image description here 到目前为止我已经尝试过这段代码:
import java.io.*;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
public class readInput {
public static void main(String[] args) throws FileNotFoundException {
Scanner s = new Scanner(new
File("Fiepath"));
ArrayList<Integer>blocklist=new ArrayList<>();
while (s.hasNext()){
if(s.hasNextInt())
{
blocklist.add(s.nextInt());
} else {
s.next();
}
}
s.close();
System.out.println(blocklist);
}
}
但它只在控制台上打印[4]:我怎样才能让它打印所有行并将它们存储在数组列表中?帮助
<小时/>[4]
进程已完成,退出代码为 0
最佳答案
要读取文件,您可以使用扫描仪,它易于使用但效率低下。逐行读取,您可能需要使用 split 等字符串函数来获取每行的值,并进行一些簿记以跟踪数据,因此您可能需要一个数组来跟踪所有方 block 。我建议您在查看文件时继续创建 Rectangle2D 对象并继续存储它们。当您完成该文件后,使用 Swing API 创建一个 JFrame 以按照您喜欢的方式显示方 block 。
https://docs.oracle.com/javase/tutorial/2d/geometry/primitives.html https://docs.oracle.com/javase/tutorial/uiswing/start/
关于java - 读取文本文件并打印图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34471738/