java题目求助
设计一个名为Location的类,定位二维数组中的最大值及其位置。这个类包括公共的数据域row、column和maxValue,二位数组中的最大值及其下标用int型的ro...
设计一个名为Location的类,定位二维数组中的最大值及其位置。这个类包括公共的数据域row、
column和maxValue,二位数组中的最大值及其下标用int型的row和column以及double型的maxValue
存储。(5分)
编写下面的方法,返回一个二位数组中最大值的位置。
public static Location locateLargest(double[][] a)
返回值是一个Location的实例。编写一个测试程序,提示用户输入一个二位数组,然后显示这个数组中
的最大元素。 展开
column和maxValue,二位数组中的最大值及其下标用int型的row和column以及double型的maxValue
存储。(5分)
编写下面的方法,返回一个二位数组中最大值的位置。
public static Location locateLargest(double[][] a)
返回值是一个Location的实例。编写一个测试程序,提示用户输入一个二位数组,然后显示这个数组中
的最大元素。 展开
1个回答
2014-05-03
展开全部
package test3;
public class Location {
private static int row ;
private static int column ;
private static double maxValue;
public Location(int row,int column,double maxValue){
this.row=row;
this.column=column;
this.maxValue=maxValue;
}
public String toString(){
return "行="+this.row+" 列="+this.column+" 最大值="+this.maxValue;
}
//静态方法实际上不应该这样返回自身的实例
//但是你命题这样写的,只能硬着头皮这么做了
public static Location locateLargest(double[][] a){
row=0;
column=0;
maxValue=a[0][0];
//遍历二维数组
for(int i = 0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
if(a[i][j]>maxValue){
row=i;
column=j;
maxValue=a[i][j];
}
}
}
return new Location(row,column,maxValue);
}
public static void main(String args[]){
double[][] a = new double[3][3];
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
a[i][j]=(i+1)*(j+1);
}
}
System.out.println(Location.locateLargest(a));
}
}
public class Location {
private static int row ;
private static int column ;
private static double maxValue;
public Location(int row,int column,double maxValue){
this.row=row;
this.column=column;
this.maxValue=maxValue;
}
public String toString(){
return "行="+this.row+" 列="+this.column+" 最大值="+this.maxValue;
}
//静态方法实际上不应该这样返回自身的实例
//但是你命题这样写的,只能硬着头皮这么做了
public static Location locateLargest(double[][] a){
row=0;
column=0;
maxValue=a[0][0];
//遍历二维数组
for(int i = 0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
if(a[i][j]>maxValue){
row=i;
column=j;
maxValue=a[i][j];
}
}
}
return new Location(row,column,maxValue);
}
public static void main(String args[]){
double[][] a = new double[3][3];
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
a[i][j]=(i+1)*(j+1);
}
}
System.out.println(Location.locateLargest(a));
}
}
追问
这个不对。。。。和题目不符的
追答
貌似没什么问题啊,二维数组定义为3行3列,这是实验啊,可以改的?要不然你想开始先选择定义的数组维数,再输入,与题目无关啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询