- このメソッドは、長さ 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; }