BÃ i 7. Create a Student Manager Application
- class Student has some properties: StudentID, StudentName, StudentMark
- Create 2 Constructor one has no parameter and another has 3 parameters.
- create setter/getter for each property.
- Application can do some task:
1. Addnew Student.
2. View Student List.
3. Search Student By name.
4. Save Data to file.
5. Read Data from file.
6. Exit
Note:
- All the fields are not blank.
- StudentID must has follow XYY(X is character from A-Z and Y from 0-9).
- StudentName are characters only.
- Mark is numberic only and between 0-100.
- Using Vector, ArrayList or Hastable to store Student List.
/**
*
* @author Quang Dung
*/
public class Manager {
Vector<Student> v = new Vector<Student>();
public void AddnewStudent(){
Student temp = new Student();
Scanner s = new Scanner(System.in);
System.out.println("Enter Student Id:");
int StudentId = s.nextInt();
boolean flag =true;
for(int i=0;i<v.size();i++)
{
Student st = v.elementAt(i);
if(st.getStudentId()==StudentId)
{
flag = false;
break;
}
}
if(!flag)
System.out.println("Id is existing");
else
temp.setStudentId(StudentId);
System.out.println("Enter Student Name:");
s = new Scanner(System.in);
String StudentName = s.nextLine();
temp.setStudentName(StudentName);
System.out.println("Enter Student Mark:");
double StudentMark =s.nextDouble();
temp.setStudentMark(StudentMark);
v.addElement(temp);
}
public void ViewStudentList(){
FileReader f = null;
try {
f = new FileReader("data.txt");
BufferedReader bread = new BufferedReader(f);
System.out.println("*********Student List Details*********");
System.out.println("StudentId\t\tStudentName\t\tSt udentMark");
String line = " ";
while((line = bread.readLine())!=null)
{
String arr[] = line.split(",") ;
for(int i=0;i<arr.length;i++)
System.out.println(arr[i]+"\t\t");
System.out.println();
}
} catch (FileNotFoundException ex) {
Logger.getLogger(Manager.class.getName()).log(Leve l.SEVERE, null, ex);
} catch (IOException ex) {
ex.printStackTrace();
} finally {
try {
f.close();
} catch (IOException ex) {
Logger.getLogger(Manager.class.getName()).log(Leve l.SEVERE, null, ex);
}
}
}
public void SearchStudentByName(){
Scanner nhap = new Scanner(System.in);
System.out.println("nhap ten cua sinh vien");
String tensv = nhap.nextLine();
boolean flag = false;
for(int i=0;i<v.size();i++)
{
Student st = v.elementAt(i);
if(st.getStudentName().equalsIgnoreCase(tensv))
{
System.out.println(st.getStudentName()+" "+st.getStudentId() + " "+st.getStudentMark());
flag = true;
break;
}
}
if(!flag)
System.out.println("khong tim thay");
}
public void SaveData(){
FileWriter f = null;
try {
f = new FileWriter("data.txt");
BufferedWriter write = new BufferedWriter(f);
for(int i=0;i<v.size();i++)
{
Student st = v.elementAt(i);
write.write(st.toString());
}
System.out.println("Write data success");
write.close();
f.close();
} catch (IOException ex) {
Logger.getLogger(Manager.class.getName()).log(Leve l.SEVERE, null, ex);
} finally {
try {
f.close();
} catch (IOException ex) {
Logger.getLogger(Manager.class.getName()).log(Leve l.SEVERE, null, ex);
}
}
}
public void ReadData(){
Scanner input = new Scanner(System.in);
System.out.println("Nhap File can doc:");
String strName = input.nextLine();
try {
File f = new File(strName);
FileInputStream in = new FileInputStream(f);
byte[] temp = new byte[1024];
int n = 0;
System.out.println("Noi dung cua file la:");
while((n=in.read(temp))>0)
{
System.out.println(new String(temp,0,n));
}
in.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}