10 个学生的身高获得最高的一个学生的身高,要求用 对象数组类型的带参方法来实现,急!!!

如题所述

public static void main(String[] args) {
Student stu1=new Student();
stu1.setName("学生1");
stu1.setHeigth(180);

Student stu2=new Student();
stu2.setName("学生2");
stu2.setHeigth(190);

Student stu3=new Student();
stu3.setName("学生3");
stu3.setHeigth(170);

Student stu4=new Student();
stu4.setName("学生4");
stu4.setHeigth(160);

Student[]stu={stu1,stu2,stu3,stu4};
for(int i=0;i<stu.length;i++){
System.out.println(stu[i].getName()+" "+stu[i].getHeigth());
}
System.out.println("++++++++++++分割线++++++++++++");

int []array={stu1.getHeigth(),stu2.getHeigth(),stu3.getHeigth(),stu1.getHeigth()};

for(int i=0;i<array.length;i++){
for(int j=0+i;j<array.length;j++){
if(array[i]<array[j]){
int a=array[i];
array[i]=array[j];
array[j]=a;

}

}
if (stu[i].getHeigth() == array[0]) {
System.out.println(stu[i].getName() +" "+ stu[i].getHeigth());
}
}

}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-05
#include<iostream.h>
int H(int a[])
{
int max=0;
int tag;
for(int i=0;i<10;i++)
if(a[i]>max)
{
max=a[i];
tag=i;
}
return tag;
}
int main()
{
int a[10];
for(int i=0;i<10;i++)
cin>>a[i];
cout<<"第"<<H(a)<<"号最高"<<endl;
}
第2个回答  2011-07-03
可以尝试用泡沫排序,一次排序即可。。。double max (double a[10])
相似回答