Cách chuyển đổi ngày tháng và sử dụng phương thức vector()

mình có bài tập java yêu cầu nhập và hiển thị thị thông tin về học sinh có 3 class :person và lớp main, lớp student kế thừa lớp person,2 lớp kia điều ổn nhưng đến đoạn xử lý mảng với nhập xuất ngày tháng là bí với thầy yêu cầu dùng vector() thầy giảng nhanh quá em không kịp nghe nên không biết dùng thế nào nên giờ lỗi mong các anh chỉ giáo chỉnh lại sao cho đúng ạ,
em xin cảm ơn
sau đây là bài của em

class Person

import java.util.Date;

public class Person {
	private String hoten;
	private Date ngaysinh;
	private String quequan;

	public Person() {
	}

	public Person(String hoten, Date ngaysinh, String quequan) {
		this.hoten = hoten;
		this.ngaysinh = ngaysinh;
		this.quequan = quequan;
	}

	public String getHoten() {
		return hoten;
	}

	public void setHoten(String hoten) {
		this.hoten = hoten;
	}

	public Date getNgaysinh() {
		return ngaysinh;
	}

	public void setNgaysinh(Date ngaysinh) {
		this.ngaysinh = ngaysinh;
	}

	public String getQuequan() {
		return quequan;
	}

	public void setQuequan(String quequan) {
		this.quequan = quequan;
	}

}

class Student

import java.util.Date;

public class Student extends Person {

    private String masv;
    private String chuyennganh;
    private String cmnd;

    public Student() {
    }

    public Student(String hoten, Date ngaysinh, String quequan, String masv, String chuyennganh, String cmnd) {

        super(hoten, ngaysinh, quequan);
        this.masv = masv;
        this.chuyennganh = chuyennganh;
        this.cmnd=cmnd;
    }

 
    public String getInfor() {

        String Infor =  "Masv: " + this.getMasv() + "\n"+
        		"Ho va ten: " + this.getHoten() + "\n"
                + "Ngay sinh: " + String.valueOf(this.getNgaysinh()) + "\n"
                + "Que quan: " + this.getQuequan() + "\n"
                + "Chuyen nganh danh hoc: " + this.getChuyennganh();
        return Infor;
    }

    public String getMasv() {
        return masv;
    }

    public String getChuyennganh() {
        return chuyennganh;
    }

    public void setMasv(String masv) {
        this.masv = masv;
    }

    public void setChuyennganh(String chuyennganh) {
        this.chuyennganh = chuyennganh;
    }

    public String getCmnd() {
        return cmnd;
    }

    public void setCmnd(String cmnd) {
        this.cmnd = cmnd;
    }
    
}

lớp main QuanLiSinhvien

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Date;
import java.util.Vector;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Administrator
 */
public class QuanliSinhvien {

	public static String readKey() throws IOException {
		InputStreamReader isr = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(isr);
		return br.readLine().trim();
	}

	public static Date StringtoDate(String sdate) {
		String[] arraydate = sdate.split("/");
		Date datens = new Date(Integer.parseInt(arraydate[2]));
		Integer.parseInt(arraydate[1]);
		Integer.parseInt(arraydate[0]);
		return datens;
	}

	public static String datetoString(Date d) {
		return String.valueOf(d.getDate()) + "/" + String.valueOf(d.getMonth()) + "/" + String.valueOf(d.getYear());
	}

	/**
	 * @param args the command line arguments
	 */
	public static void main(String[] args) throws IOException {
		// TODO code application logic here
		Student ST = new Student();
		Vector ListSV = new Vector(Date);
		String key;
		do {
			ListSV.add(ST);
			System.out.println("nhap ma so sinh vien: ");
			ST.setMasv(readKey());
			System.out.println("nhap ho ten sinh vien: ");
			ST.setHoten(readKey());
			
			System.out.println("Nhap ngay sinh:");
			String sngaysinh = readKey();
			Date ngaysinh = StringtoDate(sngaysinh);
			System.out.println(datetoString(ngaysinh));
			System.out.println("Ban co muon tiep tuc khong(y/n)");
			key = readKey();
			System.out.println(key);

		} while (key.toUpperCase().equals("y"));
		

		for (int i = 0; i < ListSV.size(); i++)
			System.out.println("---------------------");
		System.out.println(ST.getInfor());

	}

}

Vấn đề là bạn chưa biết dùng Generic Type cho Vector trong Java. Từ khóa đấy, tự tìm hiểu xem.

À mà, StringtoDate() cũng sai rồi.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?