这就是问题:
(g)鉴于以下声明:
int [][]hours = new int[3][2];
存储周三(周五和周六)工作时间(假设没有工作的部分工作时间)为三名员工。
将一段Java代码写入:
计算并打印所有员工的总工作小时数
- 醇>
每位员工的平均工作时间。
假设数组已填充数据。
我完全迷失了这就是我所能想到的:
int [][] hours = new int[3][2];
for (int i = 0; i++; i < hours[0].length){
int totalHours;
for(int j = 0 j++; j < hours[1].length){
totalHours = totalHours + hours[i][j];
System.out.println("The total hours employee " + j + "worked is " + totalHours + ".");
}
totalHours = 0;
}
答案 0 :(得分:1)
首先,您的for
循环不正确。 for循环应该像这样写
for(init variable; condition; increment)
所以你的for循环应该是这样的
for (int i = 0; i < hours[0].length; i++)
至于你的条件,你用嵌套for循环遍历2d数组的方式是外循环将沿着行向下移动。因此,你的第一个条件应该是这样的
i < hours.length
然后你的内部循环基于当前行,或外部循环中的i值。所以你的内循环条件应该是
j < hours[i].length
答案 1 :(得分:0)
考虑到这是一个家庭作业问题,我会尝试引导您走上正确的轨道。
对于初学者,您没有正确访问二维阵列。
以下是如何访问二维数组中每个元素的示例。
int [][] hours = new int[3][2];
for(int i = 0; i < hours.length; i++) //correct way to initialize a for loop
{
//do foo to the outer array;
for(int j = 0; j < hours[i].length; j++)
{
//do foo to the inner arrays
}
}
答案 2 :(得分:0)
问题在于for循环。以下是更正后的代码:
int[][] hours = new int[3][2];
for(int i=0; i<hours.length; i++){
int totalHours = 0;
for(int j =0; j< hours[i].length; j++){
totalHours = totalHours + hours[i][j];
}
System.out.println("The total hours employee " + i + " worked is " + totalHours +".");
}