Java에서 문자열이 정수인지 확인하는 방법
-
Java에서
Character.digit()
로 문자열이 정수인지 확인 -
Java에서 문자열이
string.matches(pattern)
로 정수인지 확인 -
Java에서
Scanner.nextInt(radix)
로 문자열이 정수인지 확인
Java의 String 및 Integer는 데이터 저장에 자주 사용되지만 때로는 한 데이터 유형에 다른 데이터 유형과 호환되는 요소가 포함되어 있는지 확인하고 싶을 수 있습니다.
문자열에는 알파벳, 기호 및 숫자가 포함될 수 있으므로 문자열이 보유하고있는 데이터 유형을 결정하는 것이 유용합니다. 다른 방법으로 문자열을 확인하는 예를 살펴 보겠습니다.
Java에서Character.digit()
로 문자열이 정수인지 확인
다음 예제에는 isStringInteger(stringToCheck, radix)
함수에 전달할 수있는 세 개의 문자열이 있음을 알 수 있습니다. radix
는 우리가 얻고 자하는 숫자의 범위를 알려줍니다. 여기서는 0에서 9까지의 범위를 허용하는 10을 사용합니다.
Character.digit()
는 문자열의 모든 문자를 확인하고 숫자 인 경우 0보다 큰 숫자를 반환합니다. 결과를 정확하게 만들기 위해 추가 조건문을 추가 할 수도 있습니다.
public class Main {
public static void main(String[] args) {
String str1 = "ABC123";
String str2 = "3030";
String str3 = "-9";
boolean integerOrNot1 = isStringInteger(str1, 10);
System.out.println("Is " + str1 + " an Integer? -> " + integerOrNot1);
boolean integerOrNot2 = isStringInteger(str2, 10);
System.out.println("Is " + str2 + " an Integer? -> " + integerOrNot2);
boolean integerOrNot3 = isStringInteger(str3, 10);
System.out.println("Is " + str3 + " an Integer? -> " + integerOrNot3);
}
public static boolean isStringInteger(String stringToCheck, int radix) {
if (stringToCheck.isEmpty())
return false; // Check if the string is empty
for (int i = 0; i < stringToCheck.length(); i++) {
if (i == 0 && stringToCheck.charAt(i) == '-') { // Check for negative Integers
if (stringToCheck.length() == 1)
return false;
else
continue;
}
if (Character.digit(stringToCheck.charAt(i), radix) < 0)
return false;
}
return true;
}
}
출력:
Is 12000003 an Integer? -> true
Java에서 문자열이 string.matches(pattern)
로 정수인지 확인
문자열에 Integer 요소가 포함되어 있는지 식별하는 다음 방법에서는 특정 패턴, 즉 숫자 값을 일치시키는 데 도움이 될 수있는 정규식을 사용할 수 있습니다. -?\\d+
는 문자열과 일치시켜 부울 유형으로 결과를 얻을 수있는 표현식입니다.
public class Main {
public static void main(String[] args) {
String str1 = "ABC123";
String str2 = "123";
String str3 = "000000009";
boolean integerOrNot1 = str1.matches("-?\\d+");
System.out.println("Is " + str1 + " an Integer? -> " + integerOrNot1);
boolean integerOrNot2 = str2.matches("-?\\d+");
System.out.println("Is " + str2 + " an Integer? -> " + integerOrNot2);
boolean integerOrNot3 = str3.matches("-?\\d+");
;
System.out.println("Is " + str3 + " an Integer? -> " + integerOrNot3);
}
}
출력:
Is ABC123 an Integer? -> false
Is 123 an Integer? -> true
Is 000000009 an Integer? -> true
Java에서Scanner.nextInt(radix)
로 문자열이 정수인지 확인
Java의 유명한Scanner()
클래스를 사용할 수도 있습니다. nextInt()
메소드는 주어진 문자열이 Int
유형인지 아닌지를 확인할 수 있습니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String str1 = "ABC123";
String str2 = "3030";
String str3 = "000000009";
System.out.println("Is " + str1 + " an Integer? -> " + isStringInteger(str1, 10));
System.out.println("Is " + str2 + " an Integer? -> " + isStringInteger(str2, 10));
System.out.println("Is " + str3 + " an Integer? -> " + isStringInteger(str3, 10));
}
public static boolean isStringInteger(String stringToCheck, int radix) {
Scanner sc = new Scanner(stringToCheck.trim());
if (!sc.hasNextInt(radix))
return false;
sc.nextInt(radix);
return !sc.hasNext();
}
}
출력:
Is ABC123 an Integer? -> false
Is 3030 an Integer? -> true
Is 000000009 an Integer? -> true
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn관련 문장 - Java String
- Java 문자열을 바이트로 변환하는 방법
- Java에서 16 진 문자열의 바이트 배열을 변환하는 방법
- Java에서 문자열 대 문자열 배열 변환을 수행하는 방법
- Java에서 문자열에서 부분 문자열을 제거하는 방법
- Java에서 임의 문자열 생성
- Java의 스왑 방법