【问题标题】:Reading Text File and Printing Graphic读取文本文件和打印图形
【发布时间】:2015-12-26 13:23:20
【问题描述】:

我有以下文本文件,其数据结构如下: 第一行是棋盘的高度和宽度。 该文件的每一行都包含四个整数,描述了棋盘中的一个块:块的高度和宽度(均大于 0),以及块左上角的行和列。 我想编写一个程序来读取文件并在控制台上打印带有所有板的板。谁能指出我正确的方向?

文本文件的内容:

    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

这是我打算实现的最终结果 一个大板,上面有十个不同尺寸的小块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]:我怎样才能让它打印所有行并将它们存储在 arrayList 中??帮助


[4]

进程以退出代码 0 结束

【问题讨论】:

  • 为您的示例的预期输出添加图片。
  • 那么,如果棋盘尺寸为 5 x 4,第一个坐标是 2,1,0,0,那么这是否意味着从坐标 0,0 开始绘制一个 10 x 4 的大棋盘?

标签: java file input output graph-algorithm


【解决方案1】:

您可以使用扫描仪来读取文件,它易于使用但效率低下。逐行阅读,您可能希望使用诸如 split 之类的字符串函数来获取每行的值并进行一些簿记以跟踪数据,因此您可能希望拥有一个数组来跟踪所有正方形。我建议您在浏览文件并继续存储它们时继续创建 Rectangle2D 对象。完成文件后,使用 Swing API 创建一个 JFrame 以显示您喜欢的方块。

https://docs.oracle.com/javase/tutorial/2d/geometry/primitives.html https://docs.oracle.com/javase/tutorial/uiswing/start/

【讨论】:

  • 谢谢 Ahmed,让我先试试这个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-16
  • 1970-01-01
  • 2021-04-17
相关资源
最近更新 更多