내 코드는 어떤 값도 반환하지 않으며 이유를 모르겠습니다. 내 과제는 mm / dd / yyyy 형식으로 날짜를 받아들이고 윤년을 입력해야하는 코드를 작성하도록 요구합니다. 문제는 입력을 다시받지 않는다는 것입니다. Im 아마추어 광고 나는 무엇이 잘못되었는지 모른다. Im 또한 Case statment를 사용할 수 있었지만 case 구현 방법을 잘 모르겠습니다.
import java.util.Scanner;
public class Question1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in).useDelimiter("/");
System.out.println("Please enter a date in mm/dd/yyyy format: ");
String mm = sc.next();
String dd = sc.next();
String yyyy = sc.next();
int month = Integer.parseInt(mm);
int day = Integer.parseInt(dd);
int year = Integer.parseInt(yyyy);
if (month <= 0 || month>12)
{
System.out.println("invalid month ");
}
if (year%4 != 0 || month == 02 || day >= 29)
{
System.out.println("invalid date");
}
if (month == 4 || month == 6 || month == 9 || month == 11 || day >= 31)
{
System.out.println("Invalid day");
}
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12 || day >=32 )
{
System.out.println("Invalid day");
}
else
{
System.out.println("Valid date");
}
}
}
코드는 구분 기호를로 설정합니다 /
. 그런 다음 12/25/2016
. 첫 번째 sc.next()
호출은 12를 얻습니다. 두 번째 호출은 25를 얻습니다. 세 번째는 ... 기다립니다. 왜냐하면 다른 /
것을 보지 못해서 당신이 끝났다는 것을 알지 못하기 때문입니다. 12/25/2016/
현재 코드 를 입력 하면 해당 출력이 아직 정확하지 않더라도 적어도 출력을 제공합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다