键盘输入10名学生的成绩和姓名,求出最后三名学生的姓名和成绩,用JAVA怎么编。。???? 

解决方案 »

  1.   


    public static void main(String[] args) throws Exception{
    int elements = 10;
    String[] names = new String[elements];
    int[] scores = new int[elements];
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    String str = null;
    int i = 1 ;
    while( i <= elements){
    System.out.println("请输入第"+i+"个学生姓名:");
    str = reader.readLine();
    names[i-1] = str;
    System.out.println("请输入第"+i+"个学生成绩:");
    str = reader.readLine();
    scores[i-1] = Integer.valueOf(str);
    i ++;
    }
    System.out.println("最后3名学生姓名和成绩:\n");
    for(int j = elements - 3; j < elements ; j ++){
    System.out.println("学生:"+ names[j]+" 成绩 "+ scores[j] + " \n");
    }
    }
      

  2.   

    用for循环10次输入十个姓名和成绩 在循环里判断是否为最后三名 得到这三个的姓名和成绩
      

  3.   

    主函数的while大循环完成依次输入十个名子和分数分别存在names和scores数组里,后面的for循环就是输出后三个人的分数。
      

  4.   

    /**
     * 学生类(姓名,成绩)
     */
    class Student{ private String name="";
    private float score=0F;
    Student(String na,float sc){
    this.name=na;
    this.score=sc;
    }
    public String getName(){
    return this.name;
    }
    public float getScore(){
    return this.score;
    }
    }
    /**
     * 学生工具类
     */
    public class StudentUtil{
    /**
         * 显示最后几名学生的姓名和成绩
         * 
     * @para Student[] 学生表
     * @para int 成绩最差的学生人数
     */
    public static void showLastScores(Student[] students,int lastNum) {
    if(students.length<lastNum)
    System.out.println("学生成绩表不够要查询的人数,students.length<lastNum");

    for(int ln=1;ln<=lastNum;ln++){
    for(int s=0;s<students.length-ln;s++){
    if(students[s].getScore()<students[s+1].getScore()){
    Student temp=students[s];
    students[s]=students[s+1];
    students[s+1]=temp;
    }
    }
    System.out.println(students[students.length-ln].getName()+":  "+students[students.length-ln].getScore());
    }
            
        }
    //测试
    public static void main(String[] args){
    Student[] students=new Student[5];
    students[0]=new Student("张三",70.5F);
    students[1]=new Student("李四",80.5F);
    students[2]=new Student("王二",60.5F);
    students[3]=new Student("麻子",65F);
    students[4]=new Student("大宝",40F);
    StudentUtil.showLastScores(students,3);
    }
    }