2014-07-16 2 views
0

입니다. 주어진 문자열 값에서 계산할 정수 만 원합니다.주어진 문자열 집합에서 문자와 숫자를 분리하고 여기에 숫자 만 추가하면

예 : abc123as34 출력 : 13 여기에 숫자 만 계산 취득해야하는 문자열이 숫자인지 확인이 문자열의 각 문자를 통해 반복하는 것입니다 할

+5

죄송합니다. 귀하의 코드를 볼 수 없습니다. –

+0

@Keppil 나는 그가 숫자의 합계를 추측 할 것입니다. – Th3Cuber

+0

@Keppil ithink 그는 1 + 2 + 3 + +3 + 4 = 13 –

답변

3

한 가지 방법을 무시. 그렇다면 total 변수에 추가하십시오. 예를 들어 :

String str = "abc123as34"; 

int total = 0; 
for (char c : str.toCharArray()) { 
    if (Character.isDigit(c)) { 
     total += Character.getNumericValue(c); 
    } 
} 
System.out.println(total); 
0

당신은 하나 문자열을 하나의 문자를 통해 루프 및 다수의 각 문자 요약 할 수 있습니다

public static int sumInts(String str) { 
    int sum = 0; 
    for (char c : str.toCharArray()) { 
    if (Character.isDigit(c)) { 
     sum += Character.getNumericValue(c); 
    } 
    } 
    return sum; 
} 
+0

확실히 이것은 정확한 결과를 줄 것입니다. 왜냐하면'(int) c'는 char을 int로 타입 변환하지 않기 때문입니다. –

+0

'(int) '3'의 값은 무엇입니까? – Th3Cuber

+0

'0'문자를 int로 캐스팅하면 48이되므로 원하는 결과를 얻지 못합니다. 'sum + = c -'0 ';' – Soana

1

이 시도 :

class Calc 

{ 
    public static void main (String[] args) 
{ 
String s="123ab3"; 
char[] d=s.toCharArray(); 
int total=0; 
for(int i=0;i<d.length;i++) 
{ 
    try 
    { 
    total=total+Integer.parseInt(""+d[i]); 
    System.out.println(""+total); 
    } 
    catch(Exception e) 
    { 
    System.out.print("not no"); 
    } 
} 
System.out.print("total="+total); 
    } 
} 

OUPUT보기 :

 total=9 
+0

@All ... 감사합니다. – Anagha36

관련 문제