java - 读取文本文件并打印图形

标签 java file input output graph-algorithm

我有以下文本文件,其数据结构如下: 第一行是板的高度和宽度。 该文件的后续每一行都包含四个整数,描述棋盘中的一个 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/

相关文章:

java - 为什么 AWT EventListener 会在方法和事件本身中重复事件信息

javascript - 如何使用jquery通过 ".val()"获取一个字符串中多个输入的值?

php - Laravel request() 输入文件和输入隐藏同名

javascript - 我需要创建一个四位数字的输入(所有数字都应该不同,第一个数字应该是 1)

java - 如何在 Android Studio 中添加 Snap to Roads Google Map

java - 无法找到或加载主类。

java - 无法启动 Android Studio

C# 存储输入文件中的字符串以供操作和使用的最佳方式?

c - 将文件中的字符串拆分为c中的数组

string - 在lua中调用string.gsub后如何提取更新的字符串?