• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

안녕하세요 9번 숫자만 추출문제 질문이 있습니다.

21.09.04 22:17 작성 조회수 123

0

import java.util.Scanner;

class Main {

    public int solution(String s) {

        int answer = 0;

        for(char x : s.toCharArray()){

            //숫자이면 --> 문자 0이 48이고 문자 9가 57임.

            if(x >= 48 && x <= 57) answer += answer * 10 + (x-48);

        }

        return answer;

    }

    public static void main(String[] args) {

        Main T = new Main();

        Scanner kb = new Scanner(System.in);

        String str = kb.next();

        System.out.println(T.solution(str));

    }

}

안녕하세요 강사님 수업 잘 듣고있습니다.^^

위와 같이 9번 문제를 구현했으나 if문 안으로는 문자로 인식되어서 조건문 안에 들어오는데

출력되는 결과값이 문자인 숫자 아스키 코드 값이 아닌 숫자 자체 값이 나와버리는데 

제가 어떤 실수를 한게 있는지 여쭤보고 싶습니다.!

답변 1

답변을 작성해보세요.

0

안녕하세요^^

answer에 누적하시면 안됩니다.

아래와 같이 하세요.

if(x >= 48 && x <= 57) answer = answer * 10 + (x-48);