成绩处理
来源:互联网 发布:维普软件 编辑:程序博客网 时间:2024/06/10 03:40
/* * 需求:成绩处理 * 说明:输入学生的姓名和分数,按分数从高到低排序。 * * */package P0;import java.util.*;public class ScoreDemo {public static void main(String[] args) {// TODO Auto-generated method stubfinal int n = 10; String[] name = new String[n];float[] score = new float[n];System.out.println("请输入学生姓名:");for(int i=0;i<n;i++){Scanner sc = new Scanner(System.in);name[i] = sc.next();}System.out.println("请输入学生成绩:");for(int i=0;i<n;i++){Scanner sc = new Scanner(System.in);score[i] = sc.nextFloat();}System.out.println("排序前:");for(int j=0;j<n;j++){System.out.println(name[j]+":"+score[j]);}System.out.println("排序后:");sort(score,name,n);for(int j=0;j<n;j++){System.out.println(name[j]+":"+score[j]);} }public static void sort(float[] score,String[] name,int n){float temp1 = 0;String temp2;//选择法for(int i=0;i<n-1;i++)for(int j=i+1;j<n;j++){if(score[i]<score[j]){temp1 = score[i];score[i] = score[j];score[j] = temp1;temp2 = name[i];name[i] = name[j];name[j] = temp2;}}/*冒泡法for(int i=0;i<n-1;i++)for(int j=0;j<n-1-i;j++){if(score[j]<score[j+1])temp1 = score[j];score[j] = score[j+1];score[j+1] = temp1;temp2 = name[j];name[j] = name[j+1];name[j+1] = temp2;}*/}}