PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/04/05 22:34:18
Name 제로스
Subject 자바 왕초보 질문입니다 ..
mm/dd/yyyy 입력받아서 제대로 입력 받았는지 검사하는 프로그램인데요 ..

아직 제대로 코딩해본게 얼마 되지 않아서  아래 처럼 짰는데요 ..

import java.util.Scanner;
public class Exercise {
        public static void main(String[] args) {
                Scanner input=new Scanner(System.in);
                
                String s;
                String year,month,day;
                int i,position;
                
                System.out.print("날짜 입력해주세요.(mm/dd/yyyy형식):");
                s=input.nextLine();
                
                for(i=0;i<s.length();i++){
                          if(s.charAt(i)=='/')
                                  break;  
                }
                position=i+1;
                month=s.substring(0,i);
                
                for(i=i+1;i<s.length();i++){
                          if(s.charAt(i)=='/')
                                  break;  
                }
                day=s.substring(position,i);
                
                position=i+1;
                year=s.substring(position,s.length());
                
                if(month=="1"||month=="3"||month=="5"||month=="7"||month=="8"||month=="10"||month=="12"){
                        if(day!="31")
                                System.out.println("일을 잘 못 입력하셨습니다.");
                }
                else if(month=="4"||month=="6"||month=="9"||month=="11"){
                        if(day!="30")
                                System.out.println("일을 잘 못 입력하셨습니다.");
                }
                else if(month=="2"){
                        if((year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0))){
                                if(day!="29")
                                        System.out.println("일을 잘 못 입력하셨습니다.");
                        }
                        else{
                                if(day!="28")
                                        System.out.println("일을 잘 못 입력하셨습니다.");
                        }
                }
                else
                        System.out.println("달을 잘 못 입력하셨습니다.");
        }
}


if((year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0)))

이분에서 에러나는데 .. 어떻게 처리해야하나요? ..

한가지 더 질문드리자면 .. 지금 제가 짠게 제가 보기에도 저런식으로 제출하면 점수 받기 힘들거 같은데 ..

처음부터 다시 짠다면 어떤 식으로 짜야하는게 좋을까요?

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
정지연
10/04/05 23:02
수정 아이콘
일단 스트링과 int 타입의 구분부터 하셔야 합니다.. year 는 String 타입이라 % 4 로는 계산자체가 안되니 에러가 나는거고요..
그리고 스트링간의 비교는 == 로 하지 않습니다.. String 도 하나의 객체이기 때문에 == 비교를 하면 두 객체의 메모리주소를 비교하기 때문에 둘 다 같은 값을 가진 객체라고 하더라도 절대 true 가 나오지 않습니다.. String 의 내용물이 같은지 비교하는건 equals() 라는 메소드를 사용합니다..
day 라는 객체의 값과 "31"이라는 값을 비교하려면 "31".equals(day) 아니면 day.equals("31") 이렇게 해야 합니다..
아스트랄
10/04/05 23:46
수정 아이콘
GregorianCalendar 이란 class 가 있습니다. 우리가 일반적으로 사용하는 그레고리안 척력을 기준으로 만들어 놓은 달력클래스입니다.
생성자중 하나로 GregorianCalendar(int year, int month, int dayOfMonth) 이런것이 있네요.
처음에 받은 s 를 Integar.pasreInt(..) 을 사용해서 int 형으로 바꾼후에 위 생성자에 넣어서 exception 이 발생하면 잘 못 입력한거다.
이렇게 처리해 주는 편법은 어떨까 하네요.

교수님이 좋아하실진 잘 모르겠습니다. 그렇지만 이게 제일 간단하긴 할텐데요..크크
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
78597 잠이 안올 때, 여러분들은 어떻게하나요? [20] Nellism3016 10/04/06 3016
78596 캐나다 취업 비자 [2] 당근병아리2230 10/04/06 2230
78594 미드나 영드 추천좀 해주세요 [11] Optus2576 10/04/06 2576
78593 공유기 사용시 같은방에 접속이 되나요?? [1] 엔마2977 10/04/06 2977
78592 애인의 어디가 좋냐는 질문의 모범답안은? [27] 삭제됨9296 10/04/06 9296
78591 이수씨에 대한 관련 질문입니다. [21] 화이트데이3543 10/04/06 3543
78590 디지탈방송 질문 입니다. [4] 상어이빨1790 10/04/06 1790
78589 자소서에 관한 질문입니다~ [2] 테란의 횡재2123 10/04/06 2123
78588 프로그램 없이 플짤 저장하는 방법 좀.. [13] Bikini2408 10/04/06 2408
78586 스트리트 파이트 잘아시는분! 봐주셔요! 아님 킹오브라도... [3] 츠키2403 10/04/05 2403
78585 물리/천문분야에서 컴퓨터의 활용에 관해서 질문드립니다 [6] 랄랄라1976 10/04/05 1976
78584 인터넷(SK브로드밴드 KT쿡 LG파워콤)질문입니다 [11] 파란토마토2162 10/04/05 2162
78583 넷북,울트라씬 노트북 추천 부탁드립니다. [1] PoongSSun1929 10/04/05 1929
78582 폴더가 안 지워집니다. [1] 몽키.D.루피2084 10/04/05 2084
78581 체육 수행평가로 세단뛰기를 하는데 도와주세요. [6] 화이트데이2102 10/04/05 2102
78580 부산 지하철+골목 여행~ [8] 뭉뭉이2194 10/04/05 2194
78579 경영 관련된 책좀 추천해주세요... [6] 뿌지직2065 10/04/05 2065
78576 저녁에 뭘 먹어야 다음날 운동이 수월한가요? [4] 푸파이터2108 10/04/05 2108
78575 스스로에 대한 제약을 깨는 방법.. ? [5] 창천룡1912 10/04/05 1912
78574 자바 왕초보 질문입니다 .. [3] 제로스2135 10/04/05 2135
78573 등산 가방 세탁... [1] WestSide3536 10/04/05 3536
78572 노래 제목이 궁금합니다 [3] 망상2125 10/04/05 2125
78571 유부남분들께 질문(아이는 어떻게해야 생기는건가요?) [13] WraPPin2351 10/04/05 2351
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로