Akh*_*lly 2 java arrays for-loop
int sum=0;
Scanner sc=new Scanner(System.in);
System.out.println("enter number");
int y=sc.nextInt();
String s=String.valueOf(y);
char [] ch=s.toCharArray();
for(int i=0;i<ch.length;i++)
{
sum+=ch[i];
}
System.out.println(sum);
Run Code Online (Sandbox Code Playgroud)
如果我输入数字'111'我会得到147!我想得到3.我找不到错误.
我将一个整数转换为字符串到字符数组,以便我可以在for循环中使用它.我知道这是一个我错过的愚蠢的错误,但无法找到它.
在原始代码中,您int通过转换值来对char值进行求和.但是,在您的情况下,您希望将这些char值的实际数值表示相加.将你的for循环改为:
for(int i=0;i<ch.length;i++) {
sum += Character.getNumericValue(ch[i]);
}
Run Code Online (Sandbox Code Playgroud)