这是我第一次在这里提问,
您好我是Java的新手,我遇到了一些麻烦,我想知道如何将我从代码中获取的信息存储在3D数组中,这样我就能找到一组整数中的最大整数(我有一个3D数组,我存储了这个:
**我希望我拥有的每一行的总和,我想要每个总和中最大的数字 谢谢你提前
Gr1
GR2
GR3
GR4
这是我的代码:
src
答案 0 :(得分:0)
正如@JB Nizet所说,你应该重新考虑你的变量命名,坚持conventions。
您的代码似乎很大程度上是不完整的,并且误解了您显然想要做的事情,从您发表评论,您说
我的意思是找到具有最大整数
的行
,所以这里有一个替代代码:
public static void main(String[] args) {
int[][][] votes = new int[1][2][7];
votes[0][0][0] = 1;
votes[0][0][1] = 5;
votes[0][0][2] = 1;
votes[0][0][3] = 6;
votes[0][0][4] = 9;
votes[0][0][5] = 3;
votes[0][0][6] = 1;
votes[0][1][0] = 1;
votes[0][1][1] = 5;
votes[0][1][2] = 1;
votes[0][1][3] = 10;
votes[0][1][4] = 9;
votes[0][1][5] = 3;
votes[0][1][6] = 1;
getMaxVotes(votes);
}
public static void getMaxVotes(int[][][] votes) {
int largestInt = -1;
String largestRowIndex = "";
for (int i = 0; i < votes.length; i++) {
for (int j = 0; j < votes[i].length; j++) {
for (int k = 0; k < votes[i][j].length; k++) {
if (largestInt <= votes[i][j][k]) {
largestInt = votes[i][j][k];
largestRowIndex = "votes[" + i + "][" + j + "][" + k + "]";
}
}
}
}
System.out.println(largestInt);
System.out.println(largestRowIndex);
return;
}
此代码打印:
10
votes[0][1][3]
答案 1 :(得分:0)
感谢所有帮助过的人,我终于解决了这个问题,
public static void getMaxVotes(int[][][] votes, String[][] uniStud, int size, int size1, PrintWriter uniWrite) {
int maxRow = 0;
int indexOfMaxRow = 0;
// Get sum of the first row in maxRow
for (int column = 0; column < votes[size].length; column++) {
maxRow += votes[size][0][column];
}
for (int row = 0; row < votes[size].length; row++) {
int totalOfThisRow = 0;
for (int column = 0; column < votes[size][row].length; column++) {
totalOfThisRow += votes[size][row][column];
}
if (totalOfThisRow > maxRow) {
maxRow = totalOfThisRow;
indexOfMaxRow = row;
}
}
System.out.println(" has the maximum sum of " + maxRow);
System.out.println();
}
}