我是初学者java并试图解决棘手的问题
输入= 777
输出应为3
7 + 7 + 7 = 21,2 + 1 = 3;
从上面的代码,如果我的输入是333我得到9作为答案,但当总和是两位数(777 = 21)时,我变得空白!
public static void main(String[] args)
{
int y=333;//if y is 777 i am getting blank
int sum=0;
String s;
char []ch;
do
{
s=String.valueOf(y);
ch=s.toCharArray();
if(ch.length>1)
{
for(int i=0;i<ch.length;i++)
{
sum+=Character.getNumericValue(ch[i]);
}
}
else
{
System.out.println(sum);
}
y=sum;
}while(ch.length>1);
}
Run Code Online (Sandbox Code Playgroud) 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循环中使用它.我知道这是一个我错过的愚蠢的错误,但无法找到它.