Back-end/Java
[Java] 유효한 날짜 확인
douStory
2021. 7. 30. 16:15
728x90
Class / Method 개념 연습을 위한 예제
// 실행부
package practice;
import java.util.Scanner;
public class MyDateTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("유요한지 검증할 날짜를 입력하세요.");
Scanner sc = new Scanner(System.in);
System.out.println("년도를 입력하세요.");
int y = sc.nextInt();
System.out.println("월을 입력하세요.");
int m = sc.nextInt();
System.out.println("일을 입력하세요.");
int d = sc.nextInt();
MyDate date = new MyDate(d, m, y);
date.IsDate();
}
}
// 기능부
package practice;
public class MyDate {
private int day;
private int month;
private int years;
static int k = 0;
public MyDate(int day, int month, int year) {
setYears(year);
setMonth(month);
setDay(day);
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
if( month < 1 || month > 12 ) {
System.out.println("달은 1-12까지의 숫자를 입력해주세요.");
k = 1;
}else {
this.month = month;
}
}
public int getYears() {
return years;
}
public void setYears(int years) {
this.years = years;
}
public int getDay() {
return day;
}
private void setDay(int day) {
if(month == 2) {
if(day < 1 || day >28) {
System.out.println("일 오류입니다.(2월은 28일까지 입력해주세요)");
k = 1;
}else {
this.day = day;
}
}else if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
if(day < 1 || day >31) {
System.out.println("일 오류입니다." + this.month + "달은 31일까지 입력해주세요.");
k = 1;
}else {
this.day = day;
}
}else {
if(day < 1 || day > 30) {
System.out.println("일 오류입니다.");
k = 1;
}
}
}
public void IsDate() {
if(k == 1){
System.out.println("유효하지않습니다.");
}else {
System.out.println("유요합니다.");
}
}
}