java - 显示二维数组的最低值和最高值

标签 java arrays

我正在尝试显示最低和最高值。最高的值是正确的,但最小的总是给我 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/

相关文章:

java - 如何使注入(inject)的模拟等于 Null?

c - 有没有一种简单的方法可以获取最后 x 分钟的成功读取百分比?

php - 仅在 php mysqli 中获取数组中的第一项

JavaScript 日期数组

c++ - 将 std::vector 与 MPI_Gather 一起使用会崩溃,而 c 样式数组工作正常

javascript - 查找数组中的最大值(array.find)

java - Spark 作业无法在 Kubernetes 集群上启动

java - 在循环中使用 > 和 >= 之间是否存在任何性能差异

java - 从链表中的值中查找节点

java - 应用程序 C++/Java 依赖