繁体   English   中英

从Java中的另一个文件调用2D数组

[英]Calling a 2D array from another file in Java

我正在尝试从文件中获取2D数组并进入程序。 我不确定2D数组的大小,是否必须按降序排序。 如果我在代码中输入样本数组,则for语句会完美执行。 我最沮丧的是从另一个文件获取2D数组,并使我的代码运行并执行。 谁能帮我这个..

码:

public class Project2 {
public static void main(String[] args) throws Exception {
  Scanner sc = new Scanner(new File("prog2.txt"));
  int number = 0;
  while (sc.hasNext()) {
    sc.nextLine();
    number++;
  }
  System.out.println(number);

这就是我需要的文件。 这将显示那里的行数。

码:

for (int i = 0; i < hours.length; i++) {
  int sum = totalHours(hours, i);
  System.out.println("Employee " + i + ": " + sum);
  }
}

每当我手动输入2D数组的数字时,这是一个完美执行的for语句。

我试图从文件中获取数字以通过此for语句运行。 我对如何执行此操作完全感到困惑,并且我已经坚持了几个小时。 预先感谢您的所有帮助!

希望这对您有帮助。

Java文件

public class ReadFile {
    public static void main(String[] args) throws FileNotFoundException {
        Scanner sc = new Scanner(new File("./assets/prog2.txt"));
        int[][] storedArray = new int[3][3];
        int i = 0, j = 0;
        while (sc.hasNext()) {
            String line = sc.nextLine();
            String[] rows = line.split(":");
            for (String row : rows) {
                String[] cells = row.split("~");
                j = 0;
                for (String cell : cells) {
                    // System.out.println(cell);
                    storedArray[i][j] = Integer.parseInt(cell);
                    j++;
                }
                i++;
            }
            for (int[] p : storedArray) {
                System.out.println(Arrays.toString(p));
            }
        }
    }
}

prog2.txt

1~2~3:4~5~6:7~8~9

项目目录结构

  project
    |---src--javafile
    |
    |---assets---prog2.txt

假设条件

  1. 当我们要在同一行中将二维数组中的两个元素分开时,〜是定界符。
  2. :是定界符,当我们想在二维数组中分隔两行时。
  3. 对于此示例,二维数组的大小限制为3x3。 为了实现灵活的大小,需要添加运行时检查。

输出量

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM