-1
콘솔에 특정 날짜를 입력 할 때 요일을 표시하는 프로그램을 만들어야합니다.특정 날짜를 입력하여 요일 계산
작성한 코드는 있지만 작동하지 않는 이유는 무엇입니까?
public class CalculateDay{
public static void main(String []args){
int m = Integer.parseInt(args[0]);
int d = Integer.parseInt(args[1]);
int y = Integer.parseInt(args[2]);
System.out.println("Finding day of week for "+m+"-"+d+"-"+y);
int yo = y - ((14-m)/12);
int x = yo + yo/4 - yo/100 + yo/400;
int mo = m + 12*((14-m)/12) -2;
int dayOfWeek = (d + x + (31*mo)/12)%7;
String dayString;
switch(dayOfWeek){
case 0: dayString = "Sunday";
break;
case 1: dayString = "Monday";
break;
case 2: dayString = "Tuesday";
break;
case 3: dayString = "Wednesday";
break;
case 4: dayString = "Thursday";
break;
case 5: dayString = "Friday";
break;
case 6: dayString = "Saturday";
break;
default: dayString = "Could not find";
}
System.out.println(dayString);
}
}
가 왜 생각이 *해야 * 일을? 여기에서 계산하는 것이 무엇이라고 생각하십니까? 어떤 투입물을주고 있는가, 어떤 산출물을 얻는가, 무엇을 기대합니까? –
그레고리오 데이트에서 율리우스 니스를 계산할 수 있습니다. (여기에 설명 된 방법을 사용합니다.) (https://en.wikipedia.org/wiki/Julian_date#Converting_Julian_or_Gregorian_calendar_date_to_Julian_day_number). 코드에이 메소드에 대한 힌트가 있습니다 (예 :'(14-m)/12' 및'yo/4-yo/100 + yo/400'). 아마도 그 방법을 시도해보십시오. 올바른 답을 얻을 수 있는지 알아보십시오. –
위의 기본적인 그레고리 안 캘린더 계산을했는데 스위치 구성을 사용했습니다 (할당에 의해 요구됨). 나는 틀린 무엇인가 명확히했다. 그러나 나는 단지 그것을 발견 할 수 없었다. 조언 해 주셔서 감사합니다. –