员工的工作时间;首先找到员工人数

时间:2014-07-14 23:33:50

标签: java file

我已经找到了解决这个问题的代码,但我无法弄清楚如何获得员工的数量,然后显示已排序的数组。这是我到目前为止的代码

public class Project2 {
 public static void main(String[] args) {
  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;
  }
}

此外,我必须从某个文件中获取输入,其内容未知。我从书中输入了一定的数字,这样我就可以看到发生了什么,但我怎样才能调用文件内容为以及从该文件中获取员工数量。

2 个答案:

答案 0 :(得分:1)

要从文件中读取您需要扫描仪

http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

例如:

 Scanner sc= new Scanner(new File("path\\to\\ur\\file"));
 //to read numbers of employes
 int number=0;
 while(sc.hasNext()){
   sc.nextLine();
   number++;
 }

假设你在每一行都有一个雇员... sc.nextLine()读取一行和 将其作为String返回。解析文件实际上取决于它的内容。

祝你好运

答案 1 :(得分:0)

要获得小时数组的大小,您可以调用

int numberOfEmployees = hours.length;

...这会返回在小时[] []内找到的数组的数量(它计算小时数[])

只要填充了几小时[] [],你就可以提到这些信息来自其他地方,所以你省略了一些文件读取代码?如果您打开文件并填充了这个小时[] []数组,则上述代码将起作用。您可以在总小时数等之前打印员工人数。