java - 数组中最大数字的位置

标签 java arrays numbers 2d

我的程序应该提示用户输入数组中的行数和列数,然后输入数组。然后计算并显示数组中最大元素的位置。

我的代码一直显示 (0,1),而不是实际结果 (1,2)。有什么想法吗?

我的代码:

import java.util.Scanner;

public class Question8_13 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter the number of rows and columns in the array: ");
        int row = input.nextInt();
        int col = input.nextInt();
        System.out.println("Enter numbers into array: ");
        double[][] a = new double[row][col];
        for (double[] a1 : a) {
            for (int j = 0; j < a1.length; j++) {
                a1[j] = input.nextDouble();
            }
        }
        int[] largest = locateLargest(a);
        System.out.println("The location of the largest element is at: (" +  largest[0] + "," + largest[1] + ")");
        for (int i = 0; i < 2; i++) {
            System.out.print(largest[i]);
        }
    }

    public static int[] locateLargest(double[][] a) {
        double max = 0;
        int maxRow = 0;
        int maxColumn = 0;
        int row = 0;
        for (int column = 0; column < a[row].length; column++) {
            if (a[row][column] > max) {
                max = a[row][column];
                maxRow = row;
                maxColumn = column;
            }
        }
        int[] largest = new int[2];
        largest[0] = maxRow;
        largest[1] = maxColumn;
        return largest;
    }
}
<小时/>

结果:

Enter the number of rows and columns in the array: 3 4

Enter numbers into array: 

23.5 35 2 10

4.5 3 45 3.5

35 44 5.5 9.6

The location of the largest element is at: (0,1)
<小时/>

编辑

我有:

for (int row = 0; row < a[0].length; row++){

在第 32 行,但这个错误不断出现:

“线程“main”中出现异常 java.lang.ArrayIndexOutOfBoundsException:3

at Question8_13.locateLargest(Question8_13.java:33)

at Question8_13.main(Question8_13.java:21)

Java 结果:1"

让程序实际运行并且不会出现错误的唯一方法是仅检查 row = 0

最佳答案

在你的循环中:

for (int row = 0; row < a[0].length; row++)

行数是a.length,而不是a[0].length。 a[0].length 是第一行的列数。

关于java - 数组中最大数字的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32660070/

相关文章:

java - 程序在多线程中无法顺利结束

将对象转换为数组的 PHP 错误

sas - SAS 中的大数异常

Android软键盘首先显示数字 View

java - 如何立即关闭InputStream?

java - 如何从另一个类(class)获取 Keyevent?

javascript - 负载名称中的 Node 红色字符串

arrays - Mongoose中,基于数组查询字段

javascript - 我们如何在 Javascript 中将科学记数法转换为数字

java - 如何正确构建java maven项目的jar文件?