编写程序,提示用户输入学生的个数,每个学生的名字及其分数,最后显示最高分的学生和第二高分的学生
这是java语言程序设计--基础篇(第八版)第四章的一道题,只学了循环,新手实在是不知道这第二该咋编,求教啊...
这是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]);
}
展开全部
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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询