从键盘输入五个学生的姓名和成绩,按成绩的高低输出学生的姓名和成绩

import java.util.*;
class Student implements Comparable{
int score=0;
String name;
Student(int score,String name){
this.score=score;
this.name=name;
}
public int compareTo(Object b){
Student st=(Student)b;
return(this.score-st.score);
}
}
public class TextTreeSet {
public static void main(String args[]){
TreeSet<Student> tree=new TreeSet<Student>();
System.out.println("请输入5个学生的姓名和分数");
Scanner reader=new Scanner(System.in);
Student st1,st2,st3,st4,st5;
st1=reader.next();
st2=reader.next();
st3=reader.next();
st4=reader.next();
st5=reader.next();
tree.add(st1);
tree.add(st2);
tree.add(st3);
tree.add(st4);
tree.add(st5);
Iterator<Student> te=tree.iterator();
while(te.hasNext()){
Student stu=te.next();
System.out.println(stu.name+" "+stu.score);
}
}
}
程序中的
st1=reader.next();
st2=reader.next();
st3=reader.next();
st4=reader.next();
st5=reader.next(); 是错的,怎么才能改好?

Student st1 = new Student(reader.nextFloat(),reader.next());
Student st2 = new Student(reader.nextFloat(),reader.next());
Student st3 = new Student(reader.nextFloat(),reader.next());
Student st4 = new Student(reader.nextFloat(),reader.next());
Student st5 = new Student(reader.nextFloat(),reader.next());
//说明一下输入的格式:分数+空格+姓名+回车或者空格
//示例:
//100 Tom

温馨提示:内容为网友见解,仅供参考
无其他回答

从键盘输入五个学生的姓名和成绩,按成绩的高低输出学生的姓名和成绩
reader.next());\/\/说明一下输入的格式:分数+空格+姓名+回车或者空格\/\/示例:\/\/100 Tom

c语言,有5个学生的信息(包括学号,姓名,成绩),要求按照成绩的高低顺序...
include<stdio.h>#include<stdlib.h>struct Student{ int num; char name[20]; float score;};int main(){ struct Student stu[5]={{10101,"Zhang",78},{10103,"Wang",98.5},{10106,"Li",86},{10108,"Ling",73.5},{10110,"Sun",100}}; int n=5; int i; ...

c++ 从键盘输入5个学生记录,按成绩从大到小排序,并把排序后的结果在显示...
include "stdafx.h"#include "iostream"using namespace std;void main(){int scores[5] = {};int tmp = 0;for(int i = 0; i < 5; i++){cout<<"请输入第"<<i<<"位考生成绩:";cin>>scores[i];}cout<<"排序前:"<<endl;for(int i = 0; i < 5; i++){cout<<scores[i...

...输入五个学生的学号、姓名、5门课的成绩,按平均分的高低排序输出_百 ...
int score4;int score5;float ave[5];*\/ int j=1; \/\/用来记录第几个学生 for(int i=0;i<5;i++){ int sum;printf("第%d个:\\n",j++);cout<<"学号"; cin>>student[i].no;cout<<"名字"; cin>>student[i].name;cout<<"第一门"; cin>>student[i].score1;co...

C语言~输入5个学生的学号,成绩,按成绩排序(升序),查找90分以上的
j+1];stu[j+1]=temp;} } } printf("学生信息如下(姓名、学号、年龄、成绩、平均分):\\n");for(i=0;i<n;i++){ printf("%s%d%d",stu.name,stu.num,stu.age);for(j=0;j<3;j++)printf("%d",stu.score[j]);printf("%.2f\\n",stu.aver);} } ...

输入5个学生4门课程的成绩,求(1)每个学生的总分(2)每门课程的平均分(3...
从键盘输入38个学生的基本数据,包括学号,姓名,性别以及3门课程的单科成绩。(1) 计算每个学生3门课程的总分和平均成绩;(2) 找出每门课程中成绩最好和成绩最差的学生,并输出这些学生的基本数据;(3) 3门课程总成绩按由高分到低分的顺序排序,输出排序后的学生的基本数据。\/ \/ VC++ 6.0测试...

谭浩强(第三版)C语言的课后答案 要第13章
13.6有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号、姓名、三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。 解: #include<stdio.h> struct student {char num[10]; char name[8]; int score[3]; float ave; }stu[5]; main() {int I,j,...

excel按成绩高低排名次
6、如果需要为每个成绩对应的学生姓名添加“名次”列,可以添加一列(例如,C列)并输入以下公式:=TEXT(B2,“1;2;3;4;5;6;7;8;9;10”)。这个公式将根据B列的成绩,将排名以数字形式自动填充到C列中。7、如果需要将排名以中文形式显示(如“第一名”、“第二名”等),可以使用...

怎么求学生的总成绩和名次?
首先,我们需要在Excel中创建一个包含学生姓名、各科成绩和总分的表格。可以根据需要设置每个单元格的格式,如文字居中、数字格式等。Step2:使用函数求总分 接下来,我们需要使用Excel函数来计算每个学生的总分。Excel中有很多函数可供使用,这里我们以SUM函数为例,该函数能够对指定单元格范围内的数值进行求和...

...姓名、成绩)程序运行后按照成绩的高低顺序输出各学生的
int num;char name[20];float score;};void Input(struct Stu s[]){ int i;for(i=0;i<3;++i)scanf("%d%s%f",&s[i].num,s[i].name,&s[i].score);} void Sort(struct Stu *a[]){ int i,j;struct Stu *t,**p;for(i=0;i<2;++i){ p=a+i;for(j=i+1;j<3;++j)...

相似回答