import javax.swing.JOptionPane;
int year;
boolean is_leap_year(int year)
{
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
return true;
else
return false;
}
void setup()
{
String answer = JOptionPane.showInputDialog("Enter a year or a negative number to test");
year = Integer.parseInt(answer);
while (year > 0) {
boolean b = is_leap_year(year);
if (b == true) {
println(year + " is a leap year");
}
else{
println(year + " is Not a leap year");
answer = JOptionPane.showInputDialog("Enter a year or a negative number to test");
year = Integer.parseInt(answer);
}
}
}
나는 입력이 윤년인지 테스트하기 위해 is_leap_year 함수를 작성했습니다. 그러나 프로그램은 하나의 오류를 기준으로 실행되지 않습니다.설정에서 처리중인 함수 호출
(3 행) "이 메서드는 부울 값 형식의 결과를 반환해야합니다."
헤더에 함수 유형으로 부울을 넣었으므로 이미 작성하지 않았습니까? 또한 if 문 블록으로 true를 반환합니다.
또한이 함수를 설치 프로그램에서 제대로 호출 할 수 있는지 확실하지 않습니다. 나는 뭔가를 놓친 것처럼 느낍니다.
임의의 설명이 이해 될 것이다.
편집 : (7 번째 줄과 8 번째 줄) 편집을 완료하고 else를 추가하여 false를 반환했습니다. 어떤 이유로 2000을 입력 할 때 "2000 년 윤년입니다"를 여러 줄에 인쇄 한 후 처리가 충돌합니다. 무한 루프가 진행되고 있습니까? 어떻게 수정해야합니까?
비 - 윤년에 대해 귀사의 방법은 어떤 가치를 반환합니까? –
와우, 나는 그것을 완전히 잊었다. 추측 내가 else() false를 반환해야 쓸 수 있습니다. –
@ PM77-1 안녕하세요, 나는 거짓을 반환하는 else 문을 넣었지만 여러 줄을 인쇄 한 후 처리가 중단되었습니다. 어떤 종류의 무한 루프가 있습니까? –