早上好,我现在上第4课,并且在使用循环时遇到了一些麻烦。请注意我已经看到它使用字符串解决了,但我试图掌握循环。
出现问题的原因是我需要显示两个答案:整数分为单个数字ex:567 = 5 6 7
然后567 = 18
我能够将整数加在一起,但不确定如何先将整数分开,然后将各个数字加在一起。我想我需要将其分解为0.例如,如果它是一个5位数/ 10000,/ 1000,/ 100,/ 10,/ 1
但是如果用户想要做6或7甚至8位数呢?
另外我假设这必须先行,然后才会增加个别整数?
感谢您的指导:
import java.util.Scanner;
public class spacing {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n;
System.out.print("Enter a your number: ");
n = in.nextInt();
int sum = 0;
while (n != 0) {
sum += n % 10;
n /= 10;
}
System.out.println("Sum: " + sum);
}
}
答案 0 :(得分:5)
由于这是一个教训,我不会直接给你解决方案,但我会给你一些提示:
int
。请改为String
。 :)这也将处理用户为您提供大量数字的数字的情况。String.charAt(int)
会有所帮助。Integer.parseInt(String)
也会有所帮助。您还可以使用long
代替int
; long
的上限为9,223,372,036,854,775,807。
答案 1 :(得分:0)
//I assume that the input is a string which contains only digits
public static int parseString(String input)
{
char[] charArray = input.toCharArray();
int sum = 0;
for (int index = 0; index < input.length; index++)
{
sum += Integer.parseInt(charArray[index] + "");
}
return sum;
}
使用上述功能,将输入传递给函数并根据需要使用输出。