gpt4 book ai didi

java - Android Java While循环不执行

转载 作者:太空狗 更新时间:2023-10-29 15:08:07 24 4
gpt4 key购买 nike

在我的 javacode 中,我使用 while 循环,其中将一个值加在一起并使其成为一个数字.. 例如,如果它是 2010,则 2+0+1+0 = 3,如果它是 2345,则 2+ 3 + 4 + 5 = 14 然后 1 + 4 = 5 就像那样......但同时这个过程对两个数字无效.. 11 & 22 如果即将到来的值是 11 和 22 然后没有进一步加法像 1 +1 =2 或 2+2 =4;他们必须将它显示为 11 和 22 ...我写了如下代码但它不起作用...任何人请检查代码并帮助我...有什么错误...

private long getSum10(String text)
{
long sum10 = 0;
char[] name10 = new char[text.length()];
name10 = text.toCharArray();
for (int i = 0; i < text.length(); i++)
{
sum10 += value10(name10[i]);
}
while ((sum10 != 11) && (sum10 != 22) && (sum10 > 9))
{
sum10 = findDigitSum10(sum10);
}
return sum10;
}
private long findDigitSum10(long n)
{
int sum10 = 0;
while (n != 0)
{
sum10 += n % 10;
n = n / 10;
}
return sum10;
}
private int value10(char a)
{
switch (a)
{
case 'A':
return 1;
case 'B':
return 2;
case 'C':
return 3;
case 'D':
return 4;
case 'E':
return 5;
case 'F':
return 6;
case 'G':
return 7;
case 'H':
return 8;
case 'I':
return 9;
case 'J':
return 1;
case 'K':
return 2;
case 'L':
return 3;
case 'M':
return 4;
case 'N':
return 5;
case 'O':
return 6;
case 'P':
return 7;
case 'Q':
return 8;
case 'R':
return 9;
case 'S':
return 1;
case 'T':
return 2;
case 'U':
return 3;
case 'V':
return 4;
case 'W':
return 5;
case 'X':
return 6;
case 'Y':
return 7;
case 'Z':
return 8;
default:
return 0;
}
}

最佳答案

我会用下面的方式实现它

public static void main(String[] args) {
System.out.println(getSum(12));
System.out.println(getSum(11));
}
public static long getSum(int no){
if(no/10 == 0 || no%11 == 0){
return no;
}else{
return getSum(no/10) + no%10;
}
}

关于java - Android Java While循环不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19807938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com