JAVA遇到方法封装问题
for(i=0;i<j;i++){//身高比较,i是用户输入的选项,J是比较人数
for(int s=0;s<j-i-1;s++)
if(heigh[s]<heigh[s+1]){
int temp=heigh[s];
heigh[s]=heigh[s+1];
heigh[s+1]=temp;
}
}
for(int s=0;s<j;s++){//比较结果用姓名+成绩显示的方法
if(heigh[0]==p[s].getHeight()){
System.out.println("恭喜 "+p[s].getName()+" 在比较身高的项目中以 "+p[s].getHeight()+" CM获得了 冠军!");
break;
}
}
for(int s=0;s<j;s++){
if(heigh[1]==p[s].getHeight()){
System.out.println("恭喜 "+p[s].getName()+" 在比较身高的项目中以 "+p[s].getHeight()+" CM获得了 亚军!");
break;
}
}
for(int s=0;s<j;s++){
if(heigh[2]==p[s].getHeight()){
System.out.println("恭喜 "+p[s].getName()+" 在比较身高的项目中以 "+p[s].getHeight()+" CM获得了 季军!");
break;
}
}
求大神告诉我怎么把这个变为一个方法,然后需要的时候直接调用就可以了,就是不知道怎么把数组传进去。。。同时想问,我这个判断方法,如果两人输入相同的身高则会输出错误,怎么回避呢?谢谢
------解决方案--------------------如果我做的话我会进行一个排序,或者直接用一个数组求前三名就好了。
public User[] getMaxHeight(List<User> list){
//根据你的方法求出前三
return maxuser;
}
------解决方案--------------------没学这个的话,那你就建立两个数组吧,一个放学生姓名,另外一个放学生身高,注意里面的数组下标值要对应!
姑且为:student[],height[]吧!
1,找出前三的身高值:
float a[3],作为返回数值存放的数组
建立方法: public float [] comparation(float height[],float a[]){
//操作方法,a[]里面存放3个最高身高的数值
return a;
}
2,在height里面找出和a里面数值相对应的下标值,这样就知道student[]中的下标值了,然后输出就可以了