4-2 jmu-java-m04-Person,Teacher,Student(10점)

26016 단어
4-2 jmu-java-m04-Person,Teacher,Student(10점) 프로그램 포함
Person 클래스: 속성: int id, String name, LocalDate birthDate.참고: 정의할 때는 위에서 아래로 순서대로 정의해야 합니다.방법: 구조 방법(id,name,year,month,day OfMonth), id와birthDate의 Getter 방법,name의 Getter/setter 방법, Eclipse가 자동으로 생성하는 tostring.
Student 클래스는 Person: 속성: int enrollmentYear, String clazzName에서 상속됩니다.방법: 구조 방법(id,name,year,month,day OfMonth,enrollmentYear,clazzName), 슈퍼를 사용하여Person의 구조 함수를 복용하는 것을 권장합니다.toString 방법(두 줄, 첫 번째 행위 부류의 toString 방법, 두 번째 행위Student 클래스 자체 속성을 포함하는 toString 방법, 구체적인 형식은 출력 예시 참조)
Teacher 클래스는 Person: 속성: String department, double salary에서 상속됩니다.방법: 구조 방법(id,name,year,month,dayOfMonth,department,salary), 슈퍼를 사용하여Person의 구조 함수를 복용하는 것을 권장합니다.tostring 방법(두 줄, 첫 번째 행위 부류의 tostring 방법, 두 번째 행위Teacher 클래스 자체 속성을 포함하는 tostring 방법, 구체적인 형식은 출력 예시 참조)
main 메서드:
public static void main(String[] args) { String[] types = {“Student”,“Teacher”};//피드 seed를 입력하고 Random 대상//입력 대상 생성 수량 n//이하 n개 대상을 생성하는 순환//random을 사용합니다.nxtInt(2) types 배열에서 요소 x를 무작위로 선택하여 출력합니다//x 선택에 따라 해당하는 매개 변수를 입력하십시오//n 개 대상의 'id,name,birthdate'//출력 배열의 모든 대상의 toString}
입력 형식: 무작위 피드 seed는 대상 수 n 줄을 생성하고, 줄마다 대상의 정보 정보를 생성합니다.Student 대상을 생성하려면 다음과 같이 입력하십시오: 이름 연월일 입학연도 학급 Teacher 대상을 생성하려면 다음과 같이 입력하십시오: 이름 연월일 학급
주의: 모든 대상의 id는 매번 순환하는 순서로 0에서 n-1까지
출력 형식: n개 객체 유형 n개 객체 "id,name,birthDate"n개 객체 toString
입력 예: 3 6 Liz 1986 10 10 CS 2000 Tom 19785 7 CS 2500.5 Sally 2000 1 3 2018 Net01 Jerry 1988 6 7 Mechanical 1990 Eliza 2001 2 5 2019 Software 02 Li 1978 5 7 cs 2400
출력 예제: Teacher Teacher Student Teacher 0, Liz, 1986-10-10, Tom, 1978-05-07 2, Sally, 2000-01-03 3, Jerry, 1988-06-07 4, Eliza, 2001-02-05 5, Li,1978-05-07 Person [id=0, name=Liz, birthDate=1986-10-10] Teacher [department=CS, salary=2000.0] Person [id=1, name=Tom, birthDate=1978-05-07] Teacher [department=CS, salary=2500.5] Person [id=2, name=Sally, birthDate=2000-01-03] Student [enrollmentYear=2018, clazzName=Net01] Person [id=3, name=Jerry, birthDate=1988-06-07] Teacher [department=Mechanical, salary=1990.0] Person [id=4, name=Eliza, birthDate=2001-02-05] Student [enrollmentYear=2019, clazzName=Software02] Person [id=5, name=Li, birthDate=1978-05-07] Teacher [department=cs, salary=2400.0]
저자 정여빈 단위 집미대 코드 길이 제한 16KB 시간 제한 400ms 메모리 제한 64MB
import java.util.*;
import java.time.LocalDate;

public class Main {
	public static void main(String[] args) {
    	Scanner sc=new Scanner(System.in);
    	String[] types = {"Student","Teacher"};
        int seed=sc.nextInt();
        Random r = new Random(seed);//    seed,      Random  
        int n=sc.nextInt();//        n
        Person[] p = new Person[n];
        String[] strr = new String[n];
        for(int i=0;i<n;i++)//     n      
       {
    	   String str =types[r.nextInt(2)];
    	  //  random.nextInt(2) types         x   
    	   strr[i]=str;///
    	   //  x         
    	   if(str.equals("Student"))
    	   {
    		   String name=sc.next();
    		   int year=sc.nextInt();
    		   int month=sc.nextInt();
    		   int dayOfMonth=sc.nextInt();
    		   int enrollmentYear=sc.nextInt();
   			   String clazzName=sc.next();
   			   Student s = new Student(i,name,year,month,dayOfMonth,enrollmentYear,clazzName); 
   			   p[i]=s;
    	   }
    	   else if(str.equals("Teacher"))
    	   {
    		   String name=sc.next();
    		   int year=sc.nextInt();
    		   int month=sc.nextInt();
    		   int dayOfMonth=sc.nextInt();
    		   String department=sc.next();
    		   double salary=sc.nextDouble();
    		   Teacher t = new Teacher(i,name,year,month,dayOfMonth,department,salary);
    		   p[i]=t;
    	   }
    	   
       }
        for(String f:strr)
        {
        	System.out.println(f);
        }
        
        for(Person x:p)
        {
        	System.out.println(x.getId()+","+x.getName()+","+x.getBirthDate());
        }
        for(Person x:p)
        {
        	System.out.println(x);
        }
      
      
        
	}

}
class Person
{
	int id;
	String name; 
	LocalDate birthDate;
	int year;
	int month;
	int dayOfMonth;
	
	public Person(int id,String name,int year,int month,int dayOfMonth)
	{
		this.id=id;
		this.name=name;
		this.year=year;
		this.month=month;
		this.dayOfMonth=dayOfMonth;
		this.birthDate=LocalDate.of(this.year,this.month,this.dayOfMonth);
		
	}

	public int getId() {
		return id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public LocalDate getBirthDate() {
		return birthDate;
	}


	public String toString() {
		return "Person [id=" + id + ", name=" + name + ", birthDate=" + birthDate +  "]";
	}

}

class Student extends Person
{
	int enrollmentYear;
	String clazzName;
	public Student(int id,String name,int year,int month,int dayOfMonth,int enrollmentYear,String clazzName)
	{
			super(id,name,year,month,dayOfMonth);//  super  Person     
			this.enrollmentYear=enrollmentYear;
			this.clazzName=clazzName;
			
	}
	public String toString()
	{
		return super.toString()+"
"
+ "Student [enrollmentYear="+enrollmentYear+", clazzName="+clazzName+"]"; } } class Teacher extends Person { String department; double salary; public Teacher(int id,String name,int year,int month,int dayOfMonth,String department,double salary) { super(id,name,year,month,dayOfMonth); this.department=department; this.salary=salary; } public String toString() { return super.toString()+"
"
+"Teacher [department="+department+", salary="+salary+"]"; } }

좋은 웹페이지 즐겨찾기