精华内容
下载资源
问答
  • JAVA 输入学生成绩后总成绩排序输出,添加异常输入处理。
  • 不支持HTML标签,内容是要求输入10个学生成绩,并将成绩大小进行排列。
  • JAVA 键盘录入学生成绩排序后输出,set中自定义排序规则。
  • **【题目】**输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩。都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 ...

    **【题目】**输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩。都按先录入排列在前的规则处理。

    例示:
    jack 70
    peter 96
    Tom 70
    smith 67

    从高到低 成绩
    peter 96
    jack 70
    Tom 70
    smith 67

    从低到高

    smith 67

    Tom 70
    jack 70

    peter 96

    注:0代表从高到低,1代表从低到高
    在这里插入图片描述

    ——对list进行排序时,可以采用sort()方法,集合的sort方法可以出入一个自定义的比较器, 比较器中的 compare方法传入两个参数,返回值是负数时是升序排列,返回值是正数时是降序排列。 list.sort((o1,o2) -> o2.score-o1.score)

    import java.util.Scanner;
    import java.util.List;
    import java.util.ArrayList;
    public class Main{
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            while(sc.hasNext()){
                int num = sc.nextInt();
                int sortType = sc.nextInt();//0:从高到低,1:从低到高
                List<Person> list = new ArrayList<>();
                for(int i=0;i<num;i++){
                    Person person = new Person(sc.next(),sc.nextInt());//将每一次循环的输入值传入新建的对象中
                    list.add(person);//加入该对象
                }
                if(sortType==0){//降序
                    list.sort((o1,o2) -> o2.score-o1.score);
                }else{//升序
                    list.sort((o1,o2) -> o1.score-o2.score);
                }
                for(Person p:list){
                    System.out.println(p.name+" "+p.score);
                }
            }
        }
    }
    
    class Person{
        String name;
        int score;
        
        public Person(String name,int score){
            this.name = name;
            this.score = score;
        }
    }
    
    展开全文
  • Java作业-输入学生成绩排序

    千次阅读 2017-11-30 17:32:33
    目标效果: 代码: import java.awt.BorderLayout;...import java.awt.event.ActionEvent;...import java.awt.event.ActionListener;...import java.util.ArrayList;...import java.util....import java.util.Comp

    目标效果:


    代码:

    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.LinkedHashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    
    /**
     * 编写一个应用程序,用户分别从两个文本框输入学生的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
     * @author Vivinia
     *
     */
    public class Student extends JFrame {
    	JLabel lName,lScore;      //姓名和成绩标签
    	JTextField tName,tScore;    //文本框
    	JTextArea taShow;    //用于显示的文本区域
    	JButton bSubmit;
    	JPanel pan;
    	Map<String,String> studentMap,resultMap;
    	//主函数
    	public static void main(String[] args) {         
    		new Student();
    	}
    	//构造方法
    	public Student() {              
    		init();
    		click();
    	}
    	//初始化方法
    	public void init() {         
    		lName=new JLabel("姓名");    //实例化
    		lScore=new JLabel("成绩");
    		tName=new JTextField(10);
    		tScore=new JTextField(10);
    		bSubmit=new JButton("确定");
    		pan=new JPanel();
    		taShow=new JTextArea();
    		pan.add(lName);            //控件组合
    		pan.add(tName);
    		pan.add(lScore);
    		pan.add(tScore);
    		pan.add(bSubmit);
    		add(pan,BorderLayout.NORTH);     //设置位置
    		add(taShow, BorderLayout.CENTER);
    		setTitle("统计学生姓名和分数");          //设置窗口基本属性
    		setSize(400, 300);
    		setVisible(true);
    		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    		validate();
    		studentMap=new HashMap<String,String>();                //非窗口属性初始化
    	}
    	//确定按钮被点击		
    	private void click() {
    		bSubmit.addActionListener(new ActionListener() {	   
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				save();
    				showMap();
    			}		
    		});
    	}
    	//点击按钮调用的保存方法
    	private void save() {
    		studentMap.put(tName.getText(),tScore.getText());
    		resultMap = sortMapByValue(studentMap); //按Value进行排序 
    		tName.setText("");         //文本框内容清空
    		tScore.setText("");
    	}
    	//按值排序
    	public static Map<String, String> sortMapByValue(Map<String, String> map) {
    		if (map == null || map.isEmpty()) {
    			return null;
    		}
    		Map<String, String> sortedMap = new LinkedHashMap<String, String>();
    		List<Map.Entry<String, String>> entryList = new ArrayList<Map.Entry<String, String>>(map.entrySet());   //将元素存入List中,类型为entry
    		Collections.sort(entryList, new MapValueComparator());
    		Iterator<Map.Entry<String, String>> iter = entryList.iterator();
    		Map.Entry<String, String> tmpEntry = null;
    		while (iter.hasNext()) {
    			tmpEntry = iter.next();
    			sortedMap.put(tmpEntry.getKey(), tmpEntry.getValue());   //将List中的元素遍历出来存入map
    		}
    		return sortedMap;
    	}
    	//打印列表
    	private void showMap() {
    		taShow.setText("");
    		for(Map.Entry<String,String> entry:resultMap.entrySet()) {	
    			taShow.append("姓名:"+entry.getKey()+"     成绩:"+entry.getValue()+"\n");
    		}		
    	}	
    }
    //比较器类  
    class MapValueComparator implements Comparator<Map.Entry<String, String>> {
    	public int compare(Entry<String, String> s1, Entry<String, String> s2) {
    		return s1.getValue().compareTo(s2.getValue());
    	}
    }
    

    按值排序有点麻烦,思想就是将map中元素遍历出来,使用sort即自定义比较器进行排序,然后重新存入map。


    展开全文
  • java 学生成绩排序

    千次阅读 2017-12-14 13:30:00
    编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。 程序运行效果如图: import java.awt.BorderLayout; import java.awt.event....

    编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。

    程序运行效果如图:

     

    import java.awt.BorderLayout;  
    import java.awt.event.ActionEvent;  
    import java.awt.event.ActionListener;  
    import java.util.ArrayList;  
    import java.util.Collections;  
    import java.util.Comparator;  
    import java.util.HashMap;  
    import java.util.Iterator;  
    import java.util.LinkedHashMap;  
    import java.util.List;  
    import java.util.Map;  
    import java.util.Map.Entry;  
      
    import javax.swing.JButton;  
    import javax.swing.JFrame;  
    import javax.swing.JLabel;  
    import javax.swing.JPanel;  
    import javax.swing.JTextArea;  
    import javax.swing.JTextField;  
      
    
    public class Student extends JFrame {  
        JLabel lName,lScore;      
        JTextField tName,tScore;    
        JTextArea taShow;    
        JButton bSubmit;  
        JPanel pan;  
        Map<String,String> studentMap,resultMap;  
        
        public static void main(String[] args) {           
            new Student();  
        }  
        
        public Student() {                
            init();  
            click();  
        }  
      
        public void init() {           
            lName=new JLabel("姓名");    
            lScore=new JLabel("成绩");  
            tName=new JTextField(10);  
            tScore=new JTextField(10);  
            bSubmit=new JButton("确定");  
            pan=new JPanel();  
            taShow=new JTextArea();  
            pan.add(lName);            
            pan.add(tName);  
            pan.add(lScore);  
            pan.add(tScore);  
            pan.add(bSubmit);  
            add(pan,BorderLayout.NORTH);     
            add(taShow, BorderLayout.CENTER);  
            setTitle("学生成绩排序");          
            setSize(400, 300);  
            setVisible(true);  
            setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);  
            validate();  
            studentMap=new HashMap<String,String>();              
        }        
        private void click() {  
            bSubmit.addActionListener(new ActionListener() {          
                public void actionPerformed(ActionEvent e) {  
                    save();  
                    showMap();  
                }         
            });  
        }  
        private void save() {  
            studentMap.put(tName.getText(),tScore.getText());  
            resultMap = sortMapByValue(studentMap);
            tName.setText("");          
            tScore.setText("");  
        }  
    
        public static Map<String, String> sortMapByValue(Map<String, String> map) {  
            if (map == null || map.isEmpty()) {  
                return null;  
            }  
            Map<String, String> sortedMap = new LinkedHashMap<String, String>();  
            List<Map.Entry<String, String>> entryList = new ArrayList<Map.Entry<String, String>>(map.entrySet());   
            Collections.sort(entryList, new MapValueComparator());  
            Iterator<Map.Entry<String, String>> iter = entryList.iterator();  
            Map.Entry<String, String> tmpEntry = null;  
            while (iter.hasNext()) {  
                tmpEntry = iter.next();  
                sortedMap.put(tmpEntry.getKey(), tmpEntry.getValue());   
            }  
            return sortedMap;  
        }  
       
        private void showMap() {  
            taShow.setText("");  
            for(Map.Entry<String,String> entry:resultMap.entrySet()) {      
                taShow.append("姓名:"+entry.getKey()+"     成绩:"+entry.getValue()+"\n");  
            }         
        }     
    }  
    class MapValueComparator implements Comparator<Map.Entry<String, String>> {  
        public int compare(Entry<String, String> s1, Entry<String, String> s2) {  
            return s1.getValue().compareTo(s2.getValue());  
        }  
    } 

    运行结果:

     

    转载于:https://www.cnblogs.com/songqinzhe/p/8037221.html

    展开全文
  • java实现学生成绩管理系统。Java完成算法设计和程序设计并上机调试通过。程序添加适当的注释,程序的书写要采用缩进格式。程序具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应,如插入删除时指定的...
  • 这个经常作为基础程序进行练习或者考试还是很重要的这里我把他发出来了,如果有什么不懂的可以加q java交流群934623944一起讨论。... System.out.println(“请输入学生人数:”); int stuNum=in.nextInt(); System.out.

    这个经常作为基础程序进行练习或者考试还是很重要的这里我把他发出来了,如果有什么不懂的可以加q java交流群934623944一起讨论。
    import java.util.*;
    public class Student { public static void main(String[] args) {
    Scanner in=new Scanner(System.in); System.out.println(“请输入学生人数:”);
    int stuNum=in.nextInt(); System.out.println(“请输入课程数目:”);
    int couNum=in.nextInt();
    String[] name=new String[stuNum]; String[] course=new String[couNum];
    int[][] score=new int[stuNum][couNum]; int[] sum=new int[stuNum];
    double [] avg=new double[stuNum]; String[][] order=new String[stuNum][couNum+3];
    /定义新数组,将一个同学的信息全部保存
    for(int i=0;i<couNum;i++)
    {
    System.out.println(“请输入第”+(i+1)+“门课程的名称:”);
    course[i]=in.next(); }
    //录入课程名字
    for(int i=0;i<stuNum;i++) { System.out.println(“请输入第”+(i+1)+“名学生的名字:”);
    name[i]=in.next(); sum[i]=0;
    for(int j=0;j<couNum;j++) { System.out.println(“请输入”+name[i]+course[j]+“的成绩:”);
    score[i][j]=in.nextInt(); sum[i]+=score[i][j];//求取每个学生各自的总分 }
    avg[i]=(sum[i]*1.0)/couNum;
    //求取每个学生各自的平均分 }//录入学生名字和成绩
    //将同学信息全部导入新数组 for(int i=0;i<stuNum;i++) {
    for(int k=1;k<couNum+3;k++) { { order[i][0]=name[i];
    if(k<1+couNum) order[i][k]=score[i][k-1]+""; else if(k==1+couNum) order[i][k]=sum[i]+""; else order[i][k]=avg[i]+"";
    }
    }
    //order[i][couNum+3]=i+1+""; } //按总分排序
    for(int i=0;i<stuNum;i++) { for(int m=i;m<stuNum;m++)
    { if(avg[i]<avg[m])
    {
    String[] t1=order[i]; order[i]=order[m];
    order[m]=t1; }
    }
    }
    //输出 System.out.print(“学生”);
    for(int i=0;i<couNum;i++) System.out.print("\t"+course[i]); System.out.print("\t总分\t平均分\t排行榜"); System.out.println();
    //打印表头
    for(int i=0;i<stuNum;i++) {
    for(int k=0;k<couNum+3;k++) System.out.print(order[i][k]+"\t");
    //输出order数组 System.out.print(i+1);//输出排名 System.out.println();
    }
    }
    }

    展开全文
  • java学号姓名成绩排序

    2011-12-02 17:25:59
    任意输入成绩排序,对学生成绩进行排序和查找
  • JAVA学生成绩排序

    2020-07-09 14:53:45
    import java.util.*; public class Student { public ... System.out.println(“请输入学生人数:”); int stuNum=in.nextInt(); System.out.println(“请输入课程数目:”); int couNum=in.nextInt(); String
  • 任意输入成绩排序,对学生成绩进行排序和查找
  • 数据结构程序代码 利用C++ 将多个(自定义)学生成绩信息输入 按总成绩排序输出
  • 学生成绩排序实现
  • Java学生成绩管理系统,简单的Java应用程序,初学练手
  • 要求:根据输入的学号和平均成绩,按照平均成绩降序输出学号,如果平均成绩相同,按照输入的顺序输出。 比如将一个List<Student>排序,则有两种方式: 1:Student实现Comparable接口: 2:给排序方法传递一个...
  • java 实现成绩排序

    千次阅读 2020-06-16 23:20:08
    按语数外成绩总和排序输出学生信息 public class Student { String name; String sno; int Chinese; int Math; int English; public Student(String name, String sno, int chinese, int math, int engl
  • Java】文件中学生成绩排序

    千次阅读 2017-08-23 22:04:50
    一、需求 a) 文件students.txt中...b) 读取students文件,并按照成绩降序排序 c) 若成绩相同,按年龄升序排序 二、代码 a) FileParser.java import java.io.BufferedReader; import java.io.FileNotFoundExc
  • java编写的学生成绩管理系统,GUI界面+mysql数据库,实现了增删改查、排序和另存的基本功能 输入数据库的用户名和密码就可以直接登录 不用自己建立数据库和表,由程序自动建立! (注:程序自动建立的 数据库为...
  • 成绩排序 Java(结构体冒泡排序) 问题描述  给出n个学生的成绩,将这些学生成绩排序,  排序规则,优先考虑数学成绩,高的在前;数学相同,英语高的在前;数学英语都相同,语文高的在前;三门都相同,学号小的...
  • java实现从键盘上输入学生成绩,求总分、平均分、最高分、最低分,并升序排列、降序排列 用数组存储成绩 1、录入,求总分、平均分 2、求最高分、最低分 —打擂台,胜了,站擂台 3、排序(升序、降序) —...
  • 文档需求:* 定义学生类(多个科目成绩)* 输入多个学生成绩信息* 按照不同科目成绩进行排序输出 /** * 定义学生类(多个科目成绩) */ public class Student { String name; double chineseScore; double ...
  • 具体要求如下:使用JTabbedPane,建立三个选项卡“成绩输入”、“成绩查询”、“成绩排序” ① 成绩输入:从界面上输入学生的学号和成绩,点击“确认”按钮进行保存。 ② 成绩查询:输入学生的学号,点击“查询”...
  • 学生成绩排序(List的使用) 【题目要求】 假定某班有10个学生,本学期上了3门课,请依次输入 姓名、第1门课成绩、第2门课成绩、第3门课成绩。 即首先输入第一个同学的姓名、第1门课成绩、第2门课成绩、第3门课成绩...
  • 我们的要求是用TreeSet集合存储多个学生对象的姓名,语文和数学成绩,然后按照总分高低输出,如果总分一样,那么就按照语文成绩高低输出,如果都一样就按照姓名的字典顺序输出。要过滤掉相同的学生。 知道了我们的...
  • java】对学生成绩进行排序

    千次阅读 2020-04-12 18:26:12
    学生成绩进行排序 package p1; import java.util.*; public class Java_2 { public static void main(String[] args) { Student[] java = new Student[3]; java[0] = new Student("李明", 80); ja...
  • 学生成绩计算评级排序java实现)

    千次阅读 2019-04-27 00:30:01
    简单的学生成绩计算评级排序java实现)写在前面问题说明需求分析问题分解程序模块数据输入模块数值转换模块合法判断模块错误提示模块成绩计算模块选择排序模块成绩评级模块程序输出模块数据结构主要算法程序流程图...
  • 1)从键盘录入多行学生成绩的信息,每行表示一个学生的一门课的成绩,最后一行以“exit”结束。每行文本的格式为:学号,姓名,课程名,成绩。程序能够读取学生及其成绩,将具有相同学号的学生及其成绩读取到一个...
  • 具体要求如下:使用JTabbedPane,建立三个选项卡“成绩输入”、“成绩查询”、“成绩排序” ① 成绩输入:从界面上输入学生的学号和成绩,点击“确认”按钮进行保存。 ② 成绩查询:输入学生的学号,点击“查询”...
  • 7-2 sdust-Java-学生成绩读取与排序 (20 分) 1)从键盘录入多行学生成绩的信息,每行表示一个学生的一门课的成绩,最后一行以“exit”结束。每行文本的格式为:学号,姓名,课程名,成绩。程序能够读取学生及其成绩,将...
  • String stu[][]={ {"one","01","98"}, {"two","02","62"}, {"three","03","80"}, {"four","04","83"}, {"five","05","67"}, {"six","06","33"}, {"seven","07","62"}, {"eight","08","83"}, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,494
精华内容 4,197
关键字:

java输入学生成绩排序

java 订阅