Q) 숫자를 입력 받아 짝수인지 홀수인지 판단하세요. (단, "q"라는 문자가 입력되면 종료되는 조건을 만드세요.)

 

import java.util.Scanner;

public class lecture1_textComparison {
	public static void main(String[] args) {
		
		// 1. 숫자를 입력 받아 짝수인지 홀수인지 판단하세요.
		// 2. "q"라는 문자가 입력되면 종료되는 조건을 만드세요.
		
		Scanner s = new Scanner(System.in);
		for (int i = 0; i < 999999; i++) {
			System.out.println("숫자를 입력하세요. 종료 시 q 입력.");	// 문자열을 입력 받아 분리시키는거 정리해보기. split
			String inputNumber = s.nextLine();	// 클래스 이름을 만들 때는 대문자로 시작한다. 즉 대문자로 시작하면 클래스다. // 클래스 외에는 소문자로 시작.
			
			if (inputNumber.equals("q")) {	// 문자열은 == 로 비교가 안 된다. (간혹 되는 경우 있지만 안 된다고 생각해라.) 크다 작다 비교연산도 문자열은 > 로 안 된다.
				break;
			}
			
			int convertNumber = Integer.parseInt(inputNumber);
			
//			int convertNumber = (int)inputNumber;	//	자바에서는 이렇게는 문자를 숫자로 변환할 수 없다.
			
			if (convertNumber % 2 == 0) {
				System.out.println("짝수입니다.");
			} else {
				System.err.println("홀수입니다.");
			}
			
			System.out.println();
			
		}

	}

}

결과 :

숫자를 입력하세요. 종료 시 q 입력.
896
짝수입니다.

숫자를 입력하세요. 종료 시 q 입력.
915
홀수입니다.

숫자를 입력하세요. 종료 시 q 입력.
q

 

1 ) == 로는 문자열 비교연산이 불가능하다. 문자열 비교연산 위해서는 .equals(" ")를 사용해야한다. 따라서 스캐너는 문자로 입력을 받아야한다.

2 ) 따라서 자료형이 문자열로 들어온 숫자를 연산하기 위해서는 문자를 숫자로 형변환이 필요하다. 하지만 '(int)문자열'로는 형변환이 불가능하다. 따라서 Integer.parseInt( )를 사용해야한다.

+ Recent posts