작성
·
69
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
문자를 a로 치환하고 숫자만 뽑으려고 하는데 a의 개수가 달라서 에러가 뜹니다. 방법이 없을까요??
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] argvs) {
Scanner sc = new Scanner(System.in);
String s=sc.next();
String str = s.replaceAll("[^0-9]","a"); //a로 치환
int answer= 0;
System.out.print(str);
}
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
xogh7532님께서는 문자를 ‘a’로 치환하지 않고 바로 숫자만 추출해서 계산하고 싶으신 거죠? 주어진 코드에서 문자를 ‘a’로 치환하는 대신 숫자만을 추출하여 합을 구하는 코드를 아래와 같이 수정할 수 있습니다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] argvs) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
// 숫자가 아닌 문자를 제거
String str = s.replaceAll("[^0-9]", "");
int answer = 0;
// 숫자 문자열을 순회하면서 각 숫자를 더함
for (int i = 0; i < str.length(); i++) {
answer += str.charAt(i) - '0'; // char를 int로 변환하여 더하기
}
System.out.print(answer);
}
}
이 코드는 입력 받은 문자열 s
에서 숫자가 아닌 모든 문자를 제거합니다. 그런 다음 제거된 문자열인 str
을 순회하며 각 자리의 숫자를 정수로 변환하여 그 합을 answer
에 더합니다. 마지막으로 최종 합인 answer
를 출력합니다.
질문 내용과 직접 관련된 프로그래밍 정보가 제공되지 않았기 때문에, 주어진 정보를 기반으로 한 해답을 제공하였습니다. 추가적인 도움이 필요하시면 언제든 질문해주세요.