자바 간단한 if문 질문있어요..

자바 간단한 if문 질문있어요..

작성일 2010.02.19댓글 3건
    게시물 수정 , 삭제는 로그인 필요

자꾸만 입력이 잘못되었다네요..ㅠ

4,5,6이면 고학년

1,2,3,이면 저학년. 그렇지 않으면 입력이 잘못되었다는 것을 넣으려 하는데요..

 

 

class Example_11_1 {

 public static void main(String args[]) {
      int a;
  if (a >= 4){
     System.out.println(a+"학년은 고학년입니다.");
                } else if (a <= 3) {
                        System.out.println(a+"학년은 저학년입니다.");
  } else {
      System.out.println("입력이 잘못되었습니다.");
  }
               System.out.println("if문 테스트 끝3");
 }
}

위에서 잘못된것이랑..

추가로

1) 명령행 매개변수가 1 개 입력되지 않았을 때 오류 메시지를 출력하고 프로그램을 종료한다.(프로그램을 종료하는 메서드 : System.exit(0))
2) 명령행 매개변수로 입력된 숫자를 정수형으로 변화하여 처리한다.(정수형으로 변환하는 메서드 :
Integer.parseInt(..))
을 이용해보라는데 어떻게 해야하지 모르겠네요..



profile_image 익명 작성일 -

주석 추가하여서 소스 달았습니다. 메인이 선언되면 기본적으로 스트링 배열이 생성됩니다

자바 실행시 명령어 옆에 달아줘야 합니다. 설명은 밑에 주석 보시면 나와있습니다.

그리고 스트링형 배열을 정수형으로 바꾸어 주는 명령어가 Integer.parseInt(스트링)입니다.

public class Test {
    public static void main(String[] args) { //메인에 선언된 String형 args배열
        int i = Integer.parseInt(args[0]); //배열의 첫번째 값을 정수형으로 변환에서 i에 넣어줍니다
//도스창에서 실행시 java Test 정수값 이런식으로 입력
        if(i>=4 && i<=6){ //4~6
            System.out.println("고학년");
        }else if(i>=1 && i<=3){ //1~3
            System.out.println("저학년");
        }else if(args[0]!=null){ //배열에 아무값이 없을때
            System.out.println("종료합니다");
            System.exit(0);
        }
    }
}

profile_image 익명 작성일 -

소스에 주석을 약간 달았습니다..

 

우선 잘못 된 부분은 소스상 a 변수가 선언만 된 상태에서 if문으로 비교하려고 했기 때문입니다.

 

명령행 매개변수는 args[] 로 값을 넘겨 받는데 배열이지요

배열의 길이가 1이 아니면 시스템을 종료 합니다.

 

마지막으로 args[] 배열은 String 형태 이므로 int형으로 형변환을 해주어야 합니다.

 

class Example_11_1 {

 

 public static void main(String args[]) {
  int a;
  
  // 매개변수가 없으면 시스템 종료
  if(args.length != 1){

   System.out.println("입력값의 갯수가 올바르지 않아 종료합니다");
   System.exit(0);
  }
  
  // 입력받은 매개 변수는 String 이므로 int 형으로 형변환
  a = Integer.parseInt(args[0]);
  
  if (a >= 4){
   System.out.println(a+"학년은 고학년입니다.");
  } else if (a <= 3) {
   System.out.println(a+"학년은 저학년입니다.");
  } else {
   System.out.println("입력이 잘못되었습니다.");
  }
  System.out.println("if문 테스트 끝3");
 }
}

profile_image 익명 작성일 -

잠깐 시간 나서 해봣습니다.^^;; grade.java 입니다.

문자를 arg[]에 첨부터 담지 않고 실행을 한 후에  BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 을 이용하여 문자를 String 형으로 입력을 받겠금 해놓았습니다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class grade {
 public static void main(String args[]) throws IOException{
 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  int a; // 학년 변환하여 저장 될 변수
  System.out.print("학년을 입력하세요(숫자만 입력) : ");
  String b;
  
  b = br.readLine(); //숫자를 입력받음
  
  if(b.equals("")){ //입력된 것이 없으면 종료 추가 1번 질문에 해당합니다.
   System.out.println("아무런 문자를 입력하지 않았기 때문에 종료합니다.");  
   System.exit(0);
  }else{ //숫자든 문자든 입력되었을때 들어 옴
   try{//try catch 문을 이용하여 문자는 int형으로 형변환 되지 않는다는 것을 이용 Exception 발생.
    a = Integer.parseInt(b); // 문자열로 숫자가 입력된 b를 a정수형으로 형 변환 추가 2번질문에 해당합니다.
    
    if(a > 3 && a<7){ //3보다 크고 7보다 작은것 (4,5,6)
     System.out.println("현재 입력한 학년은 " + a + "학년 입니다. 고학년입니다.");   
    }else if(a < 4 && a > 0){ //4보다 작고 0보다 큰것 (1,2,3)
     System.out.println("현재 입력한 학년은 " + a + "학년 입니다. 저학년입니다.");
    }else if(a<=0 && a>6){ //0보다 작거나 같고 6보다 큰것 (0,-1..., 7,8,...)
     System.out.println("입력된 학년은 " + a + "이므로 잘못된 학년입니다." );  
    }
   }catch(NumberFormatException e){ // 문자가 입력되었을시 Exception 발생.
    System.out.println("입력된 것은 문자이므로 종료합니다." );    
    //e.printStackTrace();  //NumberFormatException 알고 싶으면 주석 해제
    System.exit(0);   
   }
  }
 }
}

 

그럼 즐프하시기 바랍니다.^^

자바 간단한 if문 질문있어요..

... // 문자열로 숫자가 입력된 b를 a정수형으로 형 변환 추가 2번질문에 해당합니다. if(a > 3 && a<7){ //3보다 크고 7보다 작은것 (4,5,6) System.out....

자바(if문) 질문이에요T-T (내공 有)

... 이런식의 간단한 if문이거든요. 윤년을 처리해야 하구요, 매달마다 if문을... 급한거라서 그런데, 자바 잘하시는 분들 답변 좀 부탁드릴께요T-T...

자바스크립트 if문 질문..

자바스크립트를 이용해서 간단한 if 문을 만들어 보았는데요.... 여기서 질문 자체를 여러개 만든다음 질문이 매번 랜덤하게 나오게...

간단한 자바코드 질문이요.

... 자바가 처음이라 어렵네요 1번째 반복 0 0 일때 if문에 돌입합니다. if문에서 ++i > 1 && ++j > 1 에 의해서 1 1 이 될 것 처럼 보이지만 사실 ++i > 1 이 False기 때문에...

자바 if else문 질문드립니다.

... ") } 비밀번호 : 간단한 if-else문 연습중인데요. 여기서 비밀번호를 잘못 입력했을 때 입력한 비밀번호를 넣어서 경고창을 띄우려면 본문...

간단한 자바(JAVA) for문 질문있습니다 !!

... 모순되어서 c가 증가하는 것이 불가능합니다. 그래서 if문 밖으로 c++;을 빼내야 하죠. 만일 while 밖으로 빼내버리면 다시 모순되어 무한루프에 빠집니다

자바에서 if 문과 switch문에 관해...

... 간단한 예로 if(int num < 10) return; num이 10보다 작으면 return 하라는 분기문이죠... 결국은 사용자의 취향에 따른 작성방법이니 질문자에게 맞는 스타일로...