Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中不同文件中的数组_Java_Arrays - Fatal编程技术网

Java中不同文件中的数组

Java中不同文件中的数组,java,arrays,Java,Arrays,我试图从某个文件中读取2D数组。我有代码,所以它告诉我文件中有多少数组,但我的问题是我不确定如何完成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 Scan

我试图从某个文件中读取2D数组。我有代码,所以它告诉我文件中有多少数组,但我的问题是我不确定如何完成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;
  }
}
import java.util.*;
导入java.lang.*;
导入java.io.*;
公共类项目2{
/*主要方法*/
公共静态void main(字符串[]args)引发IOException{
Scanner sc=新扫描仪(新文件(“prog2.txt”);
整数=0;
while(sc.hasNext()){
sc.next();
数字++;
}
系统输出打印项次(编号);
/*整数[][]小时={
{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},
};*/
对于(int i=0;i
书中给出了int[][]小时的例子。for语句是为这些值设置的。我试图从某个文件中获取值(值未知)以使用此for语句。有人能帮我吗?

columncolumn < time[i].length

i
应该是
rowIndex

您可以通过以下方式迭代行和列:

for (int row = 0; row < hours.length; row++) {

int total = 0;

  for (int column = 0; column < hours[raw].length; column++) {

      total += hours[row][column];
  }

system.out.println("Row total: " + total);  
for(int row=0;row

}

您能否指定数据在文件中的存储方式?(每行一个值或每行一行等)我们肯定需要更多地了解文件的设置方式。现在,看起来你假设它只是一组数字,你在计算文件中有多少个数字——但是如果它是一个2D数组,你不能通过计算文件中有多少个数字就知道有多少行和多少列。该文件必须有其他结构。到目前为止,您的代码看起来还不错。继续并尝试读取文件并构建二维阵列。如果你遇到任何具体问题,请发到这里。我没有被告知该文件是什么。只是它将是一个2D数组。我知道它将是Int的,但仅此而已。我看到了注释掉的数组的外观,但那是在书中。我不知道档案上会有什么。这是我被告知的。。。。。。。。。假设所有员工的每周工作时间都存储在二维数组中。每行用七列记录员工七天的工作时间。编写一个程序,从文件中按总小时数的降序显示员工及其总小时数。另外,请先阅读员工人数。