编写程序,提示用户输入学生的个数,每个学生的名字及其分数,最后显示最高分的学生和第二高分的学生

这是java语言程序设计--基础篇(第八版)第四章的 一道题 ,只学了循环,新手实在是不知道这第二该咋编,求教啊

public static void main(String[] args) throws Exception {
        Scanner in=new Scanner(System.in);
        System.out.println("请输入学生的个数:");
        int num=in.nextInt();
        String names[]=new String [num];//学生姓名数组
        double scores[]=new double [num];//学生分数数组
        double max=0;    //记录最大分数
        int index=0;    //记录最大分数的下标
        for (int i = 0; i <num; i++) {
            System.out.print("请输入第"+(i+1)+"个学生的姓名:");
            names[i]=in.next();
            System.out.print("请输入第"+(i+1)+"个学生的分数:");
            scores[i]=in.nextDouble();
            if(scores[i]>max){
                max=scores[i];
                index=i;
            }
        }
        System.out.println("最高分的学生是:"+names[index]+",分数为:"+scores[index]);
    }

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-04

Student.java

import java.io.*;
import java.util.*;
public class Student{
    
    public static void main( String[] args){
        int n;
        Scanner in = new Scanner(System.in);
        System.out.println("请输入学生的个数:");
        n = in.nextInt();
        String[] stu=new String[n];
        int[] score = new int[n];
        for(int i=0;i<n;i++){
           stu[i] = in.next();
           score[i]= in.nextInt();
        }
        int first,second,first_i,second_i;
        first = score[0];
        second= score[0];
        first_i= 0;
        second_i=0;
        for(int i=1;i<n;i++){
            if(score[i] >second){
                second = score[i];
                second_i = i;
                if(second > first){
                    int t  = second;
                    second = first;
                    first = t;
                  
                    t  = second_i;
                    second_i = first_i;
                    first_i = t;
                }       
            }
        }
        System.out.println("最高分学生:"    + stu[first_i]+"\t分数:"+first);
        System.out.println("第二高分学生:" + stu[second_i]+"\t分数:"+second);
    } 
}
运行结果:
java Student 
请输入学生的个数:
5
张三 1
李四 2
王五 3
赵八 3
孙九 5
最高分学生:孙九    分数:5
第二高分学生:王五     分数:3

本回答被提问者和网友采纳
相似回答