有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    您的问题是计算字符值的sum而不是整数值。通过减去'0'的值,可以将每个char数字转换为int

    for(int i=0;i<ch.length;i++)
    {
        sum=sum+(ch[i]-'0');
    }