我不确定如何从带有值的方法返回对象的实例。有没有办法将int类型转换为我的对象类型? 以下是我的一些说明:
/* Design a class named Location for locating a maximal value and its location in a
two-dimensional array. The class contains:
-Public double type data field maxValue that stores the maximal value in a two-dimensional
array
-Public int type data fields row and column that store the maxValue indices in a
two-dimensional array
Write a the following method that returns the location of the largest element in a two
dimensional array:
public static Location locateLargest(double[][] a)
The return value is an instance of Location. Write a test program that prompts the user to
enter a two-dimensional array and displays the location of the largest element in the
array. Here is a sample run:
Enter the number of rows and columns in the array: 3 4
Enter the 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 45 at (1, 2) */
这是我的代码:
class Location {
public static double maxValue;
public static int row;
public static int column;
public static Location locateLargest(double[][] a) {
maxValue = a[0][0];
row = 0;
column = 0;
Location result = new Location();
for(int i = 0; i < a.length; i++) {
for(int j = 0; j < a[i].length; j++) {
if(a[i][j] > maxValue) {
maxValue = a[i][j];
row = i;
column = j;
if((i == a.length-1) && (j == a[i].length-1))
//Place indices of maxValue in result variable
}
else
continue;
}
}
return result;
}
}
我认为我应该为Location创建一个带参数的构造函数,但我不愿意,因为说明并没有这样说。有没有其他方法可以做到这一点?感谢
答案 0 :(得分:1)
您的错误是,您使用的static
字段用于Object
:
public static double maxValue;
public static int row;
public static int column;
每次致电
public static Location locateLargest(double[][] a)
您认为自己正在使用不同的Location
,maxValue
和row
创建新的column
对象,但由于这些字段为static
,您只是覆盖了类变量。
只需删除static
修饰符即可。