import java.util.*;
public class HK1 {
public static void main(String[] args) {
 double height[]=new double[10]; //存储学生高度
 
 Scanner input=new Scanner(System.in);
 for(int i=0;i<10;i++){   //接收学生高度
 System.out.print("请输入第"+(i+1)+"位同学身高");
 height[i]=input.nextDouble();
 }


for(int cnt=0;cnt<5;cnt++){
 
 double max=height[0];
 /*求最高的学生*/
for(int index=1;index<10;index++){  
if(height[index]>max){
max=height[index];
}
}
System.out.println("身高最高的5个同学为:"+max);
}

}
}
----------------------------------------------------------------------------------------
我现在输入5个都是最大的高度 我想改成输入最高那5个人的高度

解决方案 »

  1.   

    改用HashMap,key为学生姓名或学号,value为身高
    取前五个value最大的,输出key
      

  2.   

    import java.util.*; 
    public class HK1 { 
    public static void main(String[] args) { 
    double height[]=new double[10]; //存储学生高度 Scanner input=new Scanner(System.in); 
    for(int i=0;i <10;i++){  //接收学生高度 
    System.out.print("请输入第"+(i+1)+"位同学身高"); 
    height[i]=input.nextDouble(); 

    double temp=0;
    for(int i=0;i < height.length-1;i++)
    {
    for(int j = i+1;j < height.length;j++)
    {
    if (height[i] < height[j])
    {
    temp= height[j];
    height[j]= height[i];
    height[i]= temp;
    }
    }
    }
    /*求最高的学生*/ 
    for(int index=0;index <5;index++){  

     System.out.print(" "+height[index]);

    }
    }
    }
      

  3.   

    用List存储你输入的10个数,然后直接调用sort()方法排序,
    输出后五个
      

  4.   

    呵呵 用sort()然后输出最后5个