728x90
반응형
코드
import java.util.Scanner;
class Day{
private String work; //하루의 할 일을 나타내는 문자열
public String getWork() {
return work;
}
public void setWork(String work) {
this.work = work;
}
public void show() {
if(work == null)
System.out.println("할 일이 없습니다.");
else
System.out.println(work + "계획이 있습니다.");
}
}
public class MonthSchedule {
private Day[] days; // Day 객체 배열
private Scanner sc;
private int nDays;
public MonthSchedule(int nDays) { //명시적 생성자
this.nDays = nDays;
this.days = new Day[nDays]; // 객체 31개가 생성
for(int i=0; i<days.length; i++) {
days[i] = new Day();
}
sc = new Scanner(System.in); //스캐너 객체 생성
}
private void input(){
System.out.println("11월 날짜(1~31)? >> ");
int day = sc.nextInt();
System.out.println("할일(빈칸없이 입력) >> ");
String work = sc.next();
day--;
if(day < 0 || day > nDays) {
System.out.println("잘못된 날짜를 입력 하셨습니다.");
return;
}
days[day].setWork(work);
}
private void view(){
System.out.println("날짜(1~31일) >> ");
int day = sc.nextInt();
day--;
if(day < 0 || day > nDays) {
System.out.println("잘못된 날짜를 입력 하셨습니다.");
return;
}
System.out.print((day+1) + "일의 할 일은 ");
days[day].show();
}
private void finish(){
System.out.println("프로그램을 종료합니다");
}
public void run() {
System.out.println("이번달 스케줄 관리 프로그램");
while(true) {
System.out.println("스케줄(1:입력, 2:보기, 3:끝내기) >> ");
int menu = sc.nextInt();
switch(menu) {
case 1:
input();
break;
case 2:
view();
break;
case 3:
finish();
return;
default:
System.out.print("잘못 입렵 하셨습니다.");
}
System.out.println();
}
}
public static void main(String[] args) {
MonthSchedule oct = new MonthSchedule(31); //10월달의 할일
oct.run();
}
}
결과

728x90
반응형
'JAVA > 예제' 카테고리의 다른 글
[JAVA] swing을 사용한 txt파일 저장 (0) | 2022.10.25 |
---|---|
[JAVA] 전화번호북 (0) | 2022.10.11 |
[JAVA] 단어사전 (0) | 2022.10.11 |
[JAVA] 계산기 (0) | 2022.10.11 |
[JAVA] Array의 역순재배치 (0) | 2022.10.06 |
댓글