【发布时间】:2014-07-15 01:25:23
【问题描述】:
我正在尝试从某个文件中读取二维数组。我有代码,所以它告诉我文件中有多少个数组,但我的问题是我不确定如何完成 for 语句。这就是我目前所拥有的......
import java.util.*;
import java.lang.*;
import java.io.*;
public class Project2 {
/*Main Method*/
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(new File("prog2.txt"));
int number = 0;
while (sc.hasNext()) {
sc.next();
number++;
}
System.out.println(number);
/*int [][] hours = {
{2, 4, 3, 4, 5, 8, 8},
{7, 3, 4, 3, 3, 4, 4},
{3, 3, 4, 3, 3, 2, 2},
{9, 3, 4, 7, 3, 4, 1},
{3, 5, 4, 3, 6, 3, 8},
{3, 4, 4, 6, 3, 4, 4},
{3, 7, 4, 8, 3, 8, 4},
{6, 3, 5, 9, 2, 7, 9},
};*/
for (int i = 0; i < hours.length; i++) {
int sum = totalHours(hours, i);
System.out.println("Employee " + i + ": " + sum);
}
}
public static int totalHours(int[][] time, int rowIndex) {
int total = 0;
int i = 0;
for (int column = 0; column < time[i].length; column++) {
total += time[rowIndex][column];
}
return total;
}
}
int[][] 小时是书中给出的示例。 for 语句是为这些值设置的。我正在尝试从某个文件(值未知)中获取值以使用此 for 语句。谁能帮我解决这个问题?
【问题讨论】:
-
您能否指定数据在文件中的存储方式? (每行一个值或每行一行等)
-
我们肯定需要更多地了解文件是如何设置的。现在,您似乎假设它只是一堆数字,并且您正在计算文件中有多少个数字 - 但如果它是一个二维数组,您无法判断有多少行以及如何有很多列,只需计算文件中有多少个数字。该文件必须有其他结构。
-
到目前为止,您的代码看起来还不错。继续并尝试读取文件并构造二维数组。如果您遇到任何特定问题 - 请在此处发布。
-
我没有被告知文件是什么。只是它将是一个二维数组。我知道这将是 Int 的,但仅此而已。我看到注释掉的数组看起来如何,但那是在书中。我不知道文件上会写什么。
-
这是我被告知的............假设所有员工的每周工作时间都存储在一个二维数组中。每行用七列记录员工 7 天的工作时间。编写一个程序,以文件中总小时数的递减顺序显示员工及其总小时数。还要先看员工人数。