공부했던 자료 정리하는 용도입니다.
재배포, 수정하지 마세요.
입력받은 문자열이 숫자인지 판별하는 프로그램
Scanner 클래스로 문자열을 입력받아서 입력받은 문자열이 숫자이면 true 를, 아니면 false 를 출력하는 프로그램이다. 자바의 내장함수에는 Character 클래스의 isDigit( ) 이라는 함수가 있다.
Character.isDigit( ) : char 형 문자하나가 숫자인지 아닌지 검사하고 boolean 형값을 반환 (숫자면 true , 그외에는 false )
입력받은 문자열 중 숫자가 아닌것들이 포함되어 있다면 false 를 출력하고
입력한 문자열들이 모두 숫자인 경우에는 true 를 출력한다.
1. 내장함수를 사용하지 않는 경우
package test;
import java.util.*; //Scanner클래스를 사용하기 위한 import
class test{
public static void main(String[] args) {
char tmp;
boolean output = true; // 결과값을 저장할 변수, 참/거짓밖에 없기 때문에 boolean으로 선언
Scanner scanner = new Scanner(System.in); //입력받기 위해서 Scanner클래스의 scanner 객체 생성
System.out.print("판별할 문자열을 입력하세요 : ");
String input = scanner.nextLine(); //String타입의 변수 input에 scanner로 받은 문자열을 저장
for(int i = 0 ; i < input.length() ; i++) { //입력받은 문자열인 input의 길이만큼 반복문 진행(배열이 아닌 문자열의 길이기 때문에 length가 아닌 length()를 사용해야한다.)
tmp = input.charAt(i); //한글자씩 검사하기 위해서 char형 변수인 tmp에 임시저장
if(!('0' <= tmp && tmp <= '9')) { //문자가 0 ~ 9 사이가 아닐경우
output = false; //output을 false로 바꾼다.
}
}
System.out.println("숫자 여부 : " + output); //결과값 출력
}
}
배열의 길이가 아닌 String 의 길이를 반환해야하기 때문에 length 가 아닌 length( ) 를 사용해야한다 !
2. 내장함수 isDigit( )을 사용하는 경우
package test;
import java.util.*; //Scanner클래스를 사용하기 위한 import
class test{
public static void main(String[] args) {
char tmp;
boolean output = true; // 결과값을 저장할 변수, 참/거짓밖에 없기 때문에 boolean으로 선언
Scanner scanner = new Scanner(System.in); //입력받기 위해서 Scanner클래스의 scanner 객체 생성
System.out.print("판별할 문자열을 입력하세요 : ");
String input = scanner.nextLine(); //String타입의 변수 input에 scanner로 받은 문자열을 저장
for(int i = 0 ; i < input.length() ; i++) { //입력받은 문자열인 input의 길이만큼 반복문 진행(배열이 아닌 문자열의 길이기 때문에 length가 아닌 length()를 사용해야한다.)
tmp = input.charAt(i); //한글자씩 검사하기 위해서 char형 변수인 tmp에 임시저장
if(Character.isDigit(tmp) == false) { //문자열이 숫자가 아닐 경우
output = false; //output의 값을 false로 바꿈
}
}
System.out.println("숫자 여부 : " + output); //결과값 출력
}
}
'Back end > Java 문제' 카테고리의 다른 글
[Java] for문을 활용한 별(*)찍기 (1) | 2019.06.19 |
---|---|
[Java] Up&Down 게임 (0) | 2019.06.18 |
[Java] 구구단 (0) | 2019.06.13 |
[Java] 문자열/숫자의 자리합 더하기 (2) | 2019.06.09 |
[Java] Math.random()을 활용한 로또번호 뽑기 (0) | 2019.06.07 |