我经常使用这个网站,但我从未真正写过任何东西。
今天,我偶然发现了一个我似乎找不到解决方案的问题。
问题是,我有一个int variable
具有未知数量的数字。要求我将所有这些数字相加,然后将其打印/显示为消息,并将所有这些数字分开。
例如,用户输入数字“12345678”,最后我需要一条消息说“数字 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36”。我知道如何分离和求和所有这些数字,但我不知道如何保存每个数字然后显示它,因为我不仅不知道正确的数字数量,而且不知道它们的值任何一个。
通常这并不难做到,但对我来说,棘手的部分来了,因为我们还没有学到类似的东西arrays
, strings
、索引等,我们不允许使用它们。所以,我应该用最简单的代码来完成它。
到目前为止,我已经得到以下内容:
import java.util.Scanner;
public class Numbers {
public static void main(String[] args) {
int number, result;
Scanner sc = new Scanner(System.in);
System.out.println("Enter number:");
number = sc.nextInt();
result = 0;
while (number > 0){
result = result + (number % 10);
number = number / 10;
}
System.out.println("This is where the message would go.");
}
}
static final Scanner input = new Scanner(System.in);
public static void main(String[] args) {
int number, result;
System.out.println("Enter number:");
number = input.nextInt();
result = 0;
System.out.print("The numbers: ");
//Reverses the number
int reversedNum = 0;
while (number != 0) {
reversedNum = reversedNum * 10 + number % 10;
number = number / 10;
}
//Iterates over the number and prints it out
while (reversedNum > 0) {
System.out.print((reversedNum % 10));
result = result + (reversedNum % 10);
reversedNum = reversedNum / 10;
if (reversedNum > 0) {
System.out.print(" + ");
}
}
System.out.println(" = " + result);
}
这可以在不使用数组和字符串的情况下以正确的顺序打印出所有数字。
Example:
Enter number:
12345
The numbers: 1 + 2 + 3 + 4 + 5 = 15
BUILD SUCCESSFUL (total time: 5 seconds)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)