4
  • このメソッドは、長さ 10 の文字列のすべての桁の合計を計算します。文字列は、「12345?789x」または「12?4567890」の形式である必要があります。どこにでも配置でき、値は 0 です。'x' (存在する場合) は文字列の末尾にあり、10 に等しくなります。
  • 合計は次のように計算する必要があります。「11432?789x」の場合、合計 = (10*1)+(9*1)+(8*4)+(7*3)+(6*2)+(5* 0)+(4*7)+(3*8)+(2*9)+(1*10) = 164.
  • このコードは、'x' で終わる数値に対しては完全に機能しますが、そうでない数値に対しては sum の値を 0 として返します。たとえば、"111?111111" の場合、48 を返す代わりに 0 を返します。
  • エラーを見つけることができません。助けてください。

    public static int sum(String input,int l){
    int sum=0;
    int temp=0;
    char a;
    for(int i=0;i<l;i++){
        a=input.charAt(i);
        if(a=='x'){
            temp=10;
        }
         else if(a=='?'){
            temp=0;
        }
        else{
        temp = Character.getNumericValue(input.charAt(i));
        }
    
    
        sum = temp*(10-i)+sum;
    }
    return sum;
    }
    
4

4 に答える 4