【发布时间】:2015-02-13 20:12:05
【问题描述】:
我必须使用返回二维数组中最大元素位置的方法编写程序。
例子
输入数组的行数和列数:
3 4
输入数组:
23.5 35 2 10
4.5 3 45 3.5
35 44 5.5 9.6
最大元素的位置在 (1, 2)
我已经完成了我的代码,但它不工作。我该如何解决?我得到的只是以下错误:
符号:变量最大值
位置:类 int[]
if (a[i][j] > largest.maxvalue)
^
homework1a.java:51: 行已经在locateLargest(double[][])中定义
double row = i;
^
homework1a.java:52:列已在locateLargest(double[][])中定义
double column = j;
^
homework1a.java:53: maxValue 已在 locateLargest(double[][]) 中定义
double maxValue = a[i][j];
^
homework1a.java:88: i 已在 main(java.lang.String[]) 中定义
for (int i = 0; i < 2; i++)
^
5 个错误
我的代码
import java.util.Scanner;
public class hwm1 {
public static int[] locateLargest(double[][] a)
{
int[] largest = new int[2];
double row = 0;
double column = 0;
double maxValue = a[0][0];
for (int i = 0; i < a.length; i++)
{
for (int j = 0; j < a.length; j++)
{
if (a[i][j] > largest.maxvalue)
{
double row = i;
double column = j;
double maxValue = a[i][j];
}
}
}
return largest;
}
public static void main(String[] args)
{
//Create Scanner
Scanner input = new Scanner(System.in);
//User input rows and columns
System.out.println("Enter the number of rows and columns in the array: ");
int numberOfRows = input.nextInt();
int numberOfColumns = input.nextInt();
//User input data in array
System.out.println("Enter numbers into array: ");
//Create array
double[][] a = new double[numberOfRows][numberOfColumns];
for (int i = 0; i < a.length; i++)
{
for (int j = 0; j < a[i].length; j++)
{
a[i][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]);
}
}
}
}
【问题讨论】:
-
尝试跟进您的问题,并提供反馈,说明您在获得帮助的情况下已经走了多远(他们是否帮助了您)。并接受或支持您认为有用的内容。
标签: java arrays multidimensional-array