디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

형님들 java 이것좀 봐주셔요..

형님들(175.127) 2011.08.19 19:30:54
조회 104 추천 0 댓글 5

java구요 if ~ for ~ switch ~ do while 을 이용해서 년도와 달을 입력받아 달력 출력시키는 프로그램입니다.
처음 이 문제를 보고 어떻게짜지 도저히 생각이안나 예시답안 코드를 보는데요. 코드를 봐도 이해가 안가는 부분이있어서요..
2부분(글씨찐하고큰부분)인데 이부분이 뭘 정의한 부분인거죠..?


import java.io.*;
public class Test0 {
 public static void main(String[] ar) throws IOException {
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  int year = 0, month = 0;
  int start = 0, end = 0;
  boolean bool = false; //윤년 여부 ture : 윤년
  int base = 2006; // 2006년 1월 1일은 일요일 --> 기준
  int pos = 0;
  
  do {
   System.out.print("1. 연도를 입력하세요(예 : 2004) => ");
   year = Integer.parseInt(in.readLine());
  }while (year < 0 || year > 9999);
  System.out.println();
  do {
   System.out.print("2. 월을 입력하세요(예 : 6) => ");
   month = Integer.parseInt(in.readLine());
  }while(month < 1 || month > 12);
  
  if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
   bool = true;  
  
  switch(month) {
  case 1: case 3: case 5: case 7: case 8:
  case 10: case 12: end = 31; break;
  case 4: case 6: case 9: case 11: end = 30; break;
  case 2: if(bool) end = 29; else end = 28;
  }

  if(year < base) {
   start = base - year;
   for(int i = year; i < base; ++i)
    if(i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
     start++;   
   start = 7 - start % 7;
   if(start == 7) start = 0;
  }
  else {
   start = year - base;
   for(int i = base; i < year; ++i)
    if(i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
     start++;   
   start %= 7;
  }
  
  for(int i = 1; i < month; ++i) {
   switch(i) {
   case 1: case 3: case 5: case 7: case 8:
   case 10: case 12: start += 31; break;
   case 4: case 6: case 9: case 11: start += 30; break;
   case 2: if(bool) start += 29; else start += 28;
   }
  }
  start %= 7;
  
  System.out.println();
  System.out.print("================= < ");
  if(year < 10) System.out.print("000");
  else if(year < 100) System.out.print("00");
  else if(year < 1000) System.out.print("0");
  System.out.print(year + "년 ");
  if(month < 10) System.out.print("0");
  System.out.println(month + "월 > =================");
  System.out.println("일\\t월\\t화\\t수\\t목\\t금\\t토");

  for(int i = 0; i < start; ++i, ++pos) System.out.print("\\t");
  for(int i = 1; i <= end; ++i) {
   if(i < 10) System.out.print(\' \');
   System.out.print(i);
   ++pos;
   if(pos % 7 == 0) System.out.println();
   else System.out.print("\\t");
  }
  if(pos % 7 != 0) System.out.println();

  
System.out.println("==================================================");
 }
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 모태 솔로도 구제해 줄 것 같은 연애 고수 스타는? 운영자 25/07/21 - -
265491 난 눈도 안높고 평범한데 왜 나보고 눈이 높다고 그러지?? [1] 거칠게갤로그로 이동합니다. 11.08.22 62 0
265489 아따 x코드4 메모리 해체 안해도 되냐니깨?? [2] 거칠게갤로그로 이동합니다. 11.08.22 78 0
265487 이만 학교를 가기 위해 퇴갤 ㅋ [6] y녀6디리(218.146) 11.08.22 77 0
265486 프갤복습해보니 학원vs대학교 논쟁은 끝이없네 [26] +어게인갤로그로 이동합니다. 11.08.22 225 0
265485 [C] 비트 연산자의 공포 [2] 궁금한궁금이(121.129) 11.08.22 86 0
265484 이런거 좋아하나여 ㅋ [1] y녀6디리(218.146) 11.08.22 82 0
265483 [C++] reinterpret_cast의 위험성 궁금한궁금이(121.129) 11.08.22 44 0
265482 winapi listview컨트롤 잘아시는분? [4] ㅇㅇ(222.234) 11.08.22 81 0
265481 장난 안치고 다시 올린당 [7] 데덴찌갤로그로 이동합니다. 11.08.22 102 0
265480 x코드4에서는 메모리 제거 안해도 되는거야??? 거칠게갤로그로 이동합니다. 11.08.22 38 0
265479 과제 부탁한 새끼 봐랑 C++ 은 클래스를 써야지! [6] 데덴찌갤로그로 이동합니다. 11.08.22 108 0
265478 영어숫자여다리형 평->제곱미터 다만들었어요 [1] 잏힣(210.223) 11.08.22 71 0
265477 조공이란 이런거다 앞으로 질문글은 최소한 이정도의 조공으로 하자 [2] 거칠게갤로그로 이동합니다. 11.08.22 113 0
265476 자바로 opengl을 써서 C정도의 퍼포먼스를 낼 수 있을까? [1] URA!갤로그로 이동합니다. 11.08.22 77 0
265475 근데 C로 짜냐 C++로 짜냐? [3] 데덴찌갤로그로 이동합니다. 11.08.22 78 0
265474 데덴찌횽 조공바칩니다. 헤헤 [9] y녀6디리(218.146) 11.08.22 125 0
265472 y녀6디리 븅신아 너네 진도 어디까지 나갔는지만 말해 [14] 데덴찌갤로그로 이동합니다. 11.08.22 88 0
265471 소스에요 도와주세요.. [12] y녀6디리(218.146) 11.08.22 93 0
265470 도와줘 형들 [10] 자취생(110.13) 11.08.22 74 0
265469 오늘 중으로 과제 끝내야 하는데 제발 도와주십쇼! [4] y녀6디리(218.146) 11.08.22 100 0
265468 방금 커피사러 편의점 갔다가 겪은 이야기.txt [1] 개로그(121.159) 11.08.22 73 0
265467 여자는 xx를 좋아해~ [2] 거칠게갤로그로 이동합니다. 11.08.22 84 0
265466 어셈! 어셈블리어를 공부하자!!!! 거칠게갤로그로 이동합니다. 11.08.22 84 0
265464 형들 근데 이시간에 회사에 있으면 [2] 데덴찌갤로그로 이동합니다. 11.08.22 60 0
265463 이 여자 어떠냐?? 귀염 돋긔~ [1] 거칠게갤로그로 이동합니다. 11.08.22 113 0
265462 정전은 답이 없다 ㅠㅠ 심심해 ㅠㅠ [1] 거칠게갤로그로 이동합니다. 11.08.22 59 0
265460 짤방투척! 데덴찌갤로그로 이동합니다. 11.08.22 65 0
265459 정전겔엔 짤방 투척이 갑이제 [1] 거칠게갤로그로 이동합니다. 11.08.22 71 0
265458 정전겔 프겔을 깨우는 짤방 투척 [5] 거칠게갤로그로 이동합니다. 11.08.22 98 0
265457 <충격> 크리스탈 키스현장 발각 [4] 거칠게갤로그로 이동합니다. 11.08.22 118 0
265456 DB에서 값을 읽어왔는데 [1] 데덴찌갤로그로 이동합니다. 11.08.22 51 0
265455 논리설계 관련해서 실습해볼려는데 쫌 도와줘 [8] 통맥갤로그로 이동합니다. 11.08.22 97 0
265454 그런데 물리학하면 [2] 좋은아버지갤로그로 이동합니다. 11.08.22 74 0
265453 물리학을 복수전공하면 도움이 될까? [4] 잏힣(210.223) 11.08.22 114 0
265452 내가 있자나. [3] 좋은아버지갤로그로 이동합니다. 11.08.22 62 0
265451 프로그램 만들어 주시면 사례합니다. (5억까지 사례가능) [11] 데덴찌갤로그로 이동합니다. 11.08.22 171 0
265450 윈7 작업표시줄 이렇게 설정할순 없나여... [3] 빈민갤로그로 이동합니다. 11.08.22 112 0
265448 오빠들 부사수로 31살 신입으로 들어오면.. 어떻할꺼야? [3] 잏힣(210.223) 11.08.22 212 0
265446 내일 아니지 오늘이지 ㅋㅋㅋ [5] 좋은아버지갤로그로 이동합니다. 11.08.22 71 0
265445 프갤횽들 학교다닐때 실력이 어느정도였나요? [28] ㅇㅇ(220.76) 11.08.22 201 0
265444 형들 진지하게 조언좀 부탁드립니다. IT과인데 고수님들 봐주세요 . [14] 늅늅E갤로그로 이동합니다. 11.08.22 181 0
265443 컴갤형들 질문있는데 다운받은 겜을 조종해서 오류내는게 가능함? [5] ㅁㄴㅇㄹㄹ(118.41) 11.08.22 89 0
265442 작업표시줄 그룹화 자체적으로 일부만 적용할 방법 없음? [1] ㅇㅇㅇ(121.144) 11.08.22 56 0
265441 집에선 도저히 작업이 안되네..노트북 싼걸로 추천해봐라. [5] 징징(219.251) 11.08.22 130 0
265439 여기가 대한민국 IT 의 미래 프갤이냐? [1] 좋은아버지갤로그로 이동합니다. 11.08.22 76 0
265435 ‘잉여력’ 을 능가하는 ‘장애력’ [3] 때릴꺼야?(119.67) 11.08.22 154 0
265433 C# 은 본적도 없는데요....... [3] 빈민갤로그로 이동합니다. 11.08.22 128 0
265431 ISTP 인데 적합한 직업 프로그래머 떳음 ㅋㅋ [3] 돌고래스피커갤로그로 이동합니다. 11.08.22 548 0
265428 MTBI 나는 INTJ나오는데 이거 독신자 유형이라네.. [9] 생각놀이갤로그로 이동합니다. 11.08.22 1235 1
265425 한국에 남자로 태어났으면서 이 두조건중 하나도 충족못한다면.. [2] 징징(219.251) 11.08.22 100 0
뉴스 BTS 제이홉, ‘롤라팔루자 베를린 2025’ 피날레 장식…전 세계 6만 관중 열광 디시트렌드 07.18
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2