반응형
아래 소스코드는 문자열에서 숫자를 추출하여 정수로 변환하는 메서드를 구현하는 간단한 예제코드입니다.
1. parseInt 메서드
-입력받은 문자열이 null이거나 빈 문자열인지 확인합니다. null 이거나 비어 있으면 0을 반환합니다.
-문자열을 한 글자씩 순회하면서 각 문자가 숫자인지를 확인합니다. Character.isDigit(ch)를 사용해서 현재 문자가 숫자라면, 그 문자를 문자열 numStr에 추가합니다. numStr에는 문자열에서 추출된 숫자들만이 저장됩니다.
-numStr이 비어 있지 않다면, Integer.parseInt(numStr.toString())를 사용하여 numStr을 정수로 변환합니다.
2. main 메서드
-예제 데이터 설정: data1, data2, data3, data4, data5 문자열 변수에 각각 다른 형태의 문자열을 할당합니다. parseInt 메서드를 통해 숫자 추출의 대상이 됩니다.
-parseInt 메서드 호출 및 결과 출력: parseInt 메서드를 각각의 예제 데이터에 대해 호출하고, 반환된 결과를 출력합니다. 각 호출은 int 변수에 저장되고, System.out.println을 통해 출력됩니다.
3. 예제코드
public class TEST {
public static int parseInt(String strParam) throws Exception {
if (strParam == null || strParam.isEmpty()) {
return 0; // 빈 문자열이거나 null이면 0 반환
}
// 숫자 형태를 담을 문자열
StringBuilder numStr = new StringBuilder();
// 문자열을 탐색하여 숫자를 찾음
for (int i = 0; i < strParam.length(); i++) {
char ch = strParam.charAt(i);
if (Character.isDigit(ch)) {
// 숫자인 경우 문자열에 추가
numStr.append(ch);
}
}
//숫자 형태를 정수로 변환하여 반환
if (numStr.length() > 0) {
return Integer.parseInt(numStr.toString());
} else {
return 0; // 숫자 형태를 찾지 못한 경우 0 반환
}
}
public static void main(String[] args) throws Exception {
// 예제 1: 숫자가 연속으로 나타나는 경우
String data1 = "12345";
int a1 = parseInt(data1);
System.out.println("예제 1 결과: " + a1); // 출력 결과: 12345
// 예제 2: 숫자가 중간에 끼어있는 경우
String data2 = "abc123def456ghi";
int a2 = parseInt(data2);
System.out.println("예제 2 결과: " + a2); // 출력 결과: 123456
// 예제 3: 문자열의 처음부터 숫자가 아닌 문자열이 나타나는 경우
String data3 = "abcd123";
int a3 = parseInt(data3);
System.out.println("예제 3 결과: " + a3); // 출력 결과: 0
// 예제 4: 숫자가 아예 포함되지 않는 경우
String data4 = "abcdefgh";
int a4 = parseInt(data4);
System.out.println("예제 4 결과: " + a4); // 출력 결과: 0
// 예제 5: 숫자가 문자열의 중간에 연속하지 않는 경우
String data5 = "ab1c2d3";
int a5 = parseInt(data5);
System.out.println("예제 5 결과: " + a5); // 출력 결과: 1
}
}
반응형
'개발이야기 > Java' 카테고리의 다른 글
[Java] @JsonProperty, @JsonFormat, @JsonIgnore 사용방법, 예제 (Jackson 어노테이션) (0) | 2024.06.18 |
---|---|
[Java] 로그(log) 파일 만들기 (Logger 클래스 사용) (0) | 2024.05.23 |
[Java] Jasypt 암호화, 복호화 사용방법, 예제코드 (0) | 2024.04.14 |
[Java] 특정 문자열 찾기, 포함여부 (contains 메서드 사용방법, 예제) (0) | 2024.02.20 |
[Java] ArrayList 사용방법(생성, 예제, 메서드) (0) | 2024.02.16 |
댓글