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+"]";
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.