반응형
문제
package kr.or.ddit.homework;
import java.util.Scanner;
public class HomeWork10 {
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
HomeWork10 obj = new HomeWork10();
obj.process();
}
public void process() {
Member[] memList = new Member[10];
int cur = 0;
while(true) {
/*
* 스캐너를 통해
* 나라, 지역, 이름을 입력 받기
*
* 지역이 대전이라면 파라미터 2개 생성자
* 아니라면 3개 생성자 호출하기.
*/
Member mem = null;
if(?) {
}else {
}
memList[cur++]=mem;
}
}
}
class Member{
/*
* 나라
* 지역
* 이름
*/
}
정답
package kr.or.ddit.homework;
import java.util.Scanner;
public class HomeWork10 {
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
HomeWork10 obj = new HomeWork10();
obj.process();
}
public void process() {
Member[] memList = new Member[10];
int cur = 0;
while(true) {
/*
* 스캐너를 통해
*
* 지역이 대전이라면 파라미터 나라, 지역이 기본값
* 생성자 name 파라미터만 호출
* 아니라면 지역, name 파라미터 2개 생성자 호출하기.
*/
/*
* 1. 멤버추가
* 2. 종료
*/
System.out.println("1.멤버추가");
System.out.println("2.종료");
String input = sc.nextLine();
Member mem = null;
if(input.equals("1")) {
System.out.println("지역을 입력하세요.");
String region = sc.nextLine();
System.out.println("이름을 입력하세요.");
String name = sc.nextLine();
if(region.equals("대전")) {
mem = new Member(name);
}else {
mem = new Member(region, name);
}
memList[cur++]=mem;
}else {
System.out.println("종료 되었습니다.");
break;
}
}
for(int i=0; i<cur; i++) {
System.out.println(memList[i]);
}
}
}
class Member{
/*
* 나라
* 지역
* 이름
*/
String country; // 한국
String region; // 대전
String name;
Member(String name) {
// this.country = "한국";
// this.region = "대전";
// this.name = name;
this("대전", name);
}
Member(String region, String name) {
this.country = "한국";
this.region = region;
this.name = name;
}
@Override
public String toString() {
return "멤버 [나라=" + country + ", 지역=" + region + ", 이름=" + name + "]";
}
}
반응형
'자바' 카테고리의 다른 글
[Java 초급] 13.5.2장 테스트2 (0) | 2023.12.19 |
---|---|
[Java 초급] 14장 String 메소드 종류 (2) | 2023.12.19 |
[Java 초급] 13장 클래스 (0) | 2023.12.15 |
[Java 초급] 11.5장 테스트 (0) | 2023.12.13 |
[Java 초급] 12장 배열 복사 (0) | 2023.12.13 |