본문 바로가기

Java/java 기초

String 문자열속 숫자만 포함되었는지 검사 (문자열 검사, 숫자 검사)

public class ex04 {
//	메소드명 : isNumber
//	기 능 : 주어진 문자열이 모두 숫자로만 이루어져있는지 확인한다.
//	모두 숫자로만 이루어져 있으면 true를 반홖하고,
//	그렇지 않으면 false를 반홖한다.
//	만일 주어진 문자열이 null이거나 빈 문자열“”이라면 false를 반홖한다.
//	반홖타입 : boolean
//	매개변수 : String str - 검사할 문자열
//
//	[Hint] String클래스의 charAt(int i)메소드를 사용하면 문자열의 i번째 위치한 문자를
//	얻을 수 있다.

	/*
	 * (1) isNumber메소드를 작성하시오.
	 */

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		String str = "123";
		System.out.println(str + "는 숫자입니까? " + isNumber(str));
		str = "1234o";
		System.out.println(str + "는 숫자입니까? " + isNumber(str));
		
		System.out.println("문자를 입력하세요");
		String st = scanner.next();
		
		if(isNumber(st)) {
			System.out.print(st + "는 숫자가 맞습니다");
		} else {
			System.out.print(st + "는 숫자가 아닙니다");
		}
		scanner.close();
	}
	
	public static boolean isNumber(String str) {
//		boolean b = true;
		if (str == null || str.equals("")) {
			return false;
		} else {
			for (int i = 0; i < str.length(); i++) {
				int ascii = (int)str.charAt(i);
				if (ascii < 48 || ascii > 57) {
//					b = false;
//					break;
					return false;
				}
			}
//			return b;
			return true;

		}
	}
}