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;
}
}
}