import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
/**
* @author wsj
* @date 2010-6-23, 下午11:51:00
*/
public class StudentBow {
public static Scanner sc=new Scanner(System.in);
public static int point=6;//進壹個球的分數
public static SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//自定義時間格式
public static void main(String[] args) {
List<Student> stuList=createStudents();//輸入學生及進球信息
System.out.println("-----------------------排序前為-------------------------");
outPutStudentsToConsole(stuList);
outPutStudentsToFile(stuList, "students.txt");
System.out.println("\n********************輸出的學生及進球信息到 d:/student.txt\n");
System.out.println("-----------------------排序後為-------------------------");
Collections.sort(stuList);
outPutStudentsToConsole(stuList);
outPutStudentsToFile(stuList, "afterSort.txt");
System.out.println("\n******************輸出的學生及進球信息到 d:/afterSort.txt\n");
System.out.println("----------------------開始查找用戶-----------------------");
System.out.print("輸入要查找的用戶學號no:");
String searchNo=sc.next();
Student s=search(stuList, searchNo);
if(s==null){
System.out.println("未找到此用戶");
}else {
System.out.println("查找結果為:"+s.toString());
}
}
/**
* 輸入學生信息,生成學生數組
*/
private static Student inputStudentInfo() {
String no;
String name;
Date birthDay;
String birthStr=null;
try {
System.out.print("輸入學生學號:");
no=sc.next();
System.out.print("輸入學生姓名:");
name=sc.next();
System.out.print("輸入出生年月日,格式為yyyy-MM-dd,如2009-8-8:");
birthStr=sc.next();
birthDay=sdf.parse(birthStr);
return new Student(no,name,birthDay);
} catch (ParseException e) {
System.out.println("------------非法輸入,結束該名學生信息輸入-------------");
return null;
}
}
/**
* 輸入某個學生所進的球信息
*/
private static void inputBalls(Student s){
String stuInfo=s.no+","+s.name;
int count=1;
System.out.println("---------輸入學生"+stuInfo+"每局的進球情況,以end字符結束輸入----------");
String input;
BowScore bowScore=new BowScore(s);
s.bowScore=bowScore;
try {
while (true) {
System.out.print("輸入"+stuInfo+"第 "+count+" 局進球數,以end字符結束輸入:");
input=sc.next();
if("end".equalsIgnoreCase(input)) break;
bowScore.ballList.add(Integer.valueOf(input));
count++;
}
} catch (NumberFormatException e) {
System.out.println("----------------非法輸入,結束學生"+stuInfo+"進球情況輸入------------------");
}
System.out.println("----------------結束學生"+stuInfo+"進球情況輸入------------------");
}