공부했던 자료 정리하는 용도입니다.

재배포, 수정하지 마세요.

 

 

 

 

 


입력받은 문자열이 숫자인지 판별하는 프로그램

 

 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);	//결과값 출력
	}
}

 

+ Recent posts