键盘输入10名学生的成绩和姓名,求出最后三名学生的姓名和成绩,用JAVA怎么编。。????
解决方案 »
- java静态方法问题
- java nettbeans 编程问题,输入时以空格区分两个数字结果不正确,以enter则结果正确。困惑中啊,另外有什么写得不好的地方也请指出,谢谢啊
- java jdk自带的例子中有记事本的完整例子?
- Java中图片处理
- SWT 怎么做出右下脚慢慢升出shell的效果??就象QQ系统消息那样...
- java 保护性拷贝
- 请高手执教,java书籍的学习顺序
- 各位师兄师姐再帮忙看看为什么下面的代码运行时出错?
- Java中有没有象C/C++中的sizeof()函数?
- 求教!!!java
- 问个jfreeChart的问题,如何根据面板坐标获取X、Y轴的值?
- 那位大哥手头有 lws格式的3d文件 发我分
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");
}
}
* 学生类(姓名,成绩)
*/
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);
}
}