我正在尝试显示最低和最高值。最高的值是正确的,但最小的总是给我 0 你能帮助我吗?
package openlink.domain;
import java.io.*;
public class table2 {
public static void main(String[] args) {
int table1[][] = new int[5][5];
int table2[][] = new int[5][5];
int table3[][] = new int[5][5];
int i, j, k, l, b, c, g, p, num = 0, num1 = 0, small = 0, largest = 0;
String input = " ";
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
table1[i][j] = 0;
}
}
for (k = 0; k < 5; k++) {
for (l = 0; l < 5; l++) {
table2[k][l] = 0;
}
}
try {
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
System.out.print("Input table1[" + i + "][" + j + "]= ");
input = in.readLine();
num = Integer.parseInt(input);
table1[i][j] = num;
}
}
for (k = 0; k < 5; k++) {
for (l = 0; l < 5; l++) {
System.out.print("Input table2[" + k + "][" + l + "]= ");
input = in.readLine();
num1 = Integer.parseInt(input);
table2[k][l] = num1;
}
}
for (b = 0; b < table3.length; b++) {
for (c = 0; c < table3.length; c++) {
table3[b][c] = table2[b][c] + table1[b][c];
}
}
System.out.println("table1");
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
System.out.print(table1[i][j] + " ");
}
System.out.println();
}
System.out.println();
System.out.println("table2");
for (k = 0; k < 5; k++) {
for (l = 0; l < 5; l++) {
System.out.print(table2[k][l] + " ");
}
System.out.println();
}
System.out.println();
System.out.println("table3");
/* this is the code in how to locate the lowest and the highest */
for (b = 0; b < 5; b++) {
for (c = 0; c < 5; c++) {
System.out.print(table3[b][c] + " ");
}
System.out.println();
}
System.out.println();
for (b = 0; b < table1.length; b++) {
for (c = 0; c < table2.length; c++) {
if (small > table3[b][c]) {
small = table3[b][c];
} else if (table3[b][c] > largest) {
largest = table3[b][c];
}
}
}
System.out.println("the highest value in table3: " + largest);
System.out.println("the lowest value in table3: " + small);
} catch (IOException e) {
}
}
}
请在这里帮助我
最佳答案
嗯,您已经将 small
初始化为 0...所以只有在出现负数时您才会更新它。同样,您已将 large
初始化为 0,因此只有在存在正数时才会更新它。输入全负数,您会发现small
是正确的,large
是错误的。
最好先将 small
和 large 初始化为 table3[0][0]
,这样您就知道它们。 re 每个数组中的有效值。
关于java - 显示二维数组的最低值和最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31692533/