解题思路:

这是一道非常典型的对象排序问题。

对学生类对象中的成绩属性按升序排序。

我才用的是列表存放学生对象,使用Comparator重写排序方法进行成绩升序排序。



注意事项:

参考代码:

import java.util.Scanner;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Collections;

class Stu
{
		String name;
		String gender;
		int age;
		int score;
	
	public String toString()
	{
		return name+" "+gender+" "+age+" "+score;
	}
	
}

public class Main 
{
	public static void main(String[] args)
	{		
		Comparator<Stu> comparator = new Comparator<Stu>()

	{
			public int compare(Stu s1,Stu s2)
			{
				
					return s1.score-s2.score;//升序
				  //return s2.score-s1.score;	//降序	
			}			
	};
		
		
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		ArrayList<Stu> stu=new ArrayList<Stu>(); //定义学生列表
		for(int i=0;i<n;i++)        //逐个输入
		{
			Stu student=new Stu();
			student.name=sc.next();
			student.gender=sc.next();
			student.age=sc.nextInt();
			student.score=sc.nextInt();
			stu.add(student);			//添加到列表中
		}
		
	   Collections.sort(stu,comparator);//使用重写的排序方法进行排序
	   
	   for(Stu s:stu)
	   {
		   System.out.println(s);
	   }
	}
}


 

0.0分

0 人评分

  评论区

  • «
  • »