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

这是java语言程序设计--基础篇(第八版)第四章的一道题,只学了循环,新手实在是不知道这第二该咋编,求教啊... 这是java语言程序设计--基础篇(第八版)第四章的 一道题 ,只学了循环,新手实在是不知道这第二该咋编,求教啊 展开
 我来答
小曹大人_
2014-12-04 · TA获得超过134个赞
知道小有建树答主
回答量:81
采纳率:0%
帮助的人:84.1万
展开全部
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]);
    }
百度网友fc027fc
2014-12-04 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3160
采纳率:83%
帮助的人:751万
展开全部

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
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式