1. 程式人生 > >山科java實驗4-1 編寫一個程式,使用者可以從鍵盤錄入若干個學生的姓名和分數(程式每次提示使用者輸入“Y”或“N”決定是否繼續錄入學生資訊,如果使用者輸入“N”則使用者輸入完畢。輸入的“Y”、“N”不區分

山科java實驗4-1 編寫一個程式,使用者可以從鍵盤錄入若干個學生的姓名和分數(程式每次提示使用者輸入“Y”或“N”決定是否繼續錄入學生資訊,如果使用者輸入“N”則使用者輸入完畢。輸入的“Y”、“N”不區分

編寫一個程式,使用者可以從鍵盤錄入若干個學生的姓名和分數(程式每次提示使用者輸入“Y”或“N”決定是否繼續錄入學生資訊,如果使用者輸入“N”則使用者輸入完畢。輸入的“Y”、“N”不區分大小寫)。使用者錄入完畢後,程式按成績由高到低的順序輸出學生的姓名和分數(姓名和分數之間用一個空格分割)。【說明:鍵盤輸入可以使用Scanner類

package 作業1;
import java.util.*;
public class Student {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ArrayList<students> list = new ArrayList<students>();
		Scanner scanner = new Scanner(System.in);
		System.out.println("是否繼續輸入學生資訊?(Y/N)");
		while(true)
		{
			String ss = scanner.nextLine();
			if(ss.equals("y")||ss.equals("Y"))
			{
				System.out.println("請輸入學生的姓名和成績:");
				String n = scanner.nextLine();
				double a = scanner.nextDouble();
				list.add(new students(n,a));
				System.out.println("是否繼續輸入學生資訊?(Y/N)");
			}
			else if(ss.equals("n")||ss.equals("N"))
			{
				break;
			}
		}
		Student s = new Student();
		MyComparator myCom = s.new MyComparator();
		Collections.sort(list,myCom);
		System.out.println(list.toString() + " ");
		scanner.close();
	}
	class MyComparator implements Comparator<students>
	{
		public int compare(students t1,students t2)
		{
			if(t1.getScore() < t2.getScore())
				return 1;
			else if(t1.getScore() > t2.getScore())
				return -1;
			else
			    return 0;
		}
	}
}
package 作業1;
//import java.util.*;
public class students  {
	private String name;
	private double score;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public double getScore() {
		return score;
	}
	public void setScore(double score) {
		this.score = score;
	}
	public String toString() {
		return getName() + " " + getScore();
	}
	public students(String name, double score) {
		this.name = name;
		this.score = score;
	}
	
}