java使用for循环查找字符数组中的数字之和
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);
如果我输入数字“111”,我会得到147!我想要3个。我找不到错误
我将一个整数转换为字符串到字符数组,以便在for循环中使用它。我知道这是一个愚蠢的错误,我错过了,但找不到它
# 1 楼答案
您的问题是计算字符值的
sum
而不是整数值。通过减去'0'
的值,可以将每个char
数字转换为int
: