public class Date {
public int d;
public int m;
public int y; // พ.ศ.
public Date(int d0, int m0, int y0) {
// เพื่อความง่าย ไม่ต้องตรวจสอบว่า วัน เดือน ปี ที่ได้รับเป็นจำนวนที่ถูกต้องหรือไม่
d = d0; m = m0; y = y0;
}
//-------------------------------------------------------
public static int compare(Date d1, Date d2) {
// -1 เมื่อ d1 เป็นวันที่ที่มาก่อน d2
// 0 เมื่อ d1 เป็นวันที่เดียวกับ d2
// +1 เมื่อ d1 เป็นวันที่ที่อยู่หลัง d2
if (d1.y < d2.y) return -1;
else if (d1.y > d2.y) return 1;
else if (d1.m < d2.m) return -1;
else if (d1.m > d2.m) return 1;
else if (d1.d < d2.d) return -1;
else if (d1.d > d2.d) return 1;
else return 0;
}
//-------------------------------------------------------
public static boolean equals(Date d1, Date d2) {
return d1 != null && d2 != null &&
d1.y == d2.y && d1.m == d2.m && d1.d == d2.d;
}
}
public class Member {
public String id;
public String name;
public String bloodGroup;
public Date birthDate;
public Member(String i, String n, String bg, Date bd) {
// เพื่อความง่าย ไม่ต้องตรวจสอบว่า ข้อมูลทั้งหลายที่ได้รับถูกต้องหรือไม่
id=i; name=n; bloodGroup=bg; birthDate= bd ;
}
public static boolean equals(Member m1, Member m2) {
return m2 != null &&
m1.id.equals(m2.id) &&
m1.name.equals(m2.name) &&
m1.bloodGroup.equals(m2.bloodGroup) &&
m2.birthDate != null && Date.equals(m1.birthDate, m2.birthDate);
}
}
import java.util.Scanner;
import java.io.*;
public class MyMain {
public static void main(String[] args) throws IOException {
Member[] members = readMemberFile("members.txt");
sortByBirthDate(members);
showMembers(members);
}
//-----------------------------------------------------------------------
public static void sortByBirthDate(Member[] m) {
// เรียงลำดับสมาชิกตาง ๆ ในอาเรย์ m ตามอายุสมาชิก จากอายุมากไปอายุน้อย
for (int i = 0; i < m.length-1; i++) {
for (int j = i + 1; j < m.length; j++) {
if (Date.compare(m[i].birthDate, m[j].birthDate) == 1) {
Member temp = m[i];
m[i] = m[j];
m[j] = temp;
}
}
}
}
//-----------------------------------------------------------------------
public static Member[] readMemberFile(String file) throws IOException {
Scanner f = new Scanner(new File(file));
int n = f.nextInt();
Member[] members = new Member[n];
for (int i = 0; i < n; i++) {
String id = f.next();
String bloodGroup = f.next();
int d = f.nextInt();
int m = f.nextInt();
int y = f.nextInt();
String name = f.nextLine();
members[i] = new Member(id, name, bloodGroup, new Date(d, m, y));
}
f.close();
return members;
}
//-----------------------------------------------------------------------
public static void showMembers(Member[] members) {
for (int i = 0; i < members.length; i++) {
System.out.println(members[i].id + " " +
members[i].bloodGroup + " " +
members[i].birthDate.d + " " +
members[i].birthDate.m + " " +
members[i].birthDate.y + " " +
members[i].name);
}
}
}
|
SM=4, CM=17, ST=23, KY=1097, TR=60:00
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
|