📄 ex5_16.java
字号:
//5.16(对学生排序)
import javax.swing.JOptionPane;
public class Ex5_16{
public static void main (String[] args) {
int numofstu=Integer.parseInt(JOptionPane.showInputDialog("请输入学生数量:"));
String[] nameofstu=new String[numofstu];
double[] scoreofstu=new double[numofstu];
for(int i=0;i<numofstu;i++){
nameofstu[i]=JOptionPane.showInputDialog("请输入一个学生姓名:");
scoreofstu[i]=Double.parseDouble(JOptionPane.showInputDialog("请输入该学生的成绩"));
}
for(int i=numofstu-1;i>=0;i--){//进行选择排序
double scoreMax=scoreofstu[0];
int index=0;
for(int j=1;j<=i;j++){//找出前i个学生中成绩最高的用scoreMax记录,index记录该学生下标
if(scoreofstu[j]>scoreMax){
scoreMax=scoreofstu[j];
index=j;
}
}
if(index!=i){//利用成绩的下标调换学生的排序
scoreofstu[index]=scoreofstu[i];
scoreofstu[i]=scoreMax;
String tname=nameofstu[index];
nameofstu[index]=nameofstu[i];
nameofstu[i]=tname;
}
}
for(int i=numofstu-1;i>=0;i--){//将排好序的学生姓名输出
System.out.println(nameofstu[i]+" "+scoreofstu[i]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -