gpt4 book ai didi

java - 将一个数字的所有数字相加并在 Java 中分别显示数字

转载 作者:搜寻专家 更新时间:2023-11-01 01:49:56 25 4
gpt4 key购买 nike

我经常使用这个网站,但我从来没有真正写过任何东西。今天,我偶然发现了一个我似乎找不到解决方案的问题。

问题是,我有一个未知位数的 int 变量。要求我对所有这些数字求和,然后将其打印/显示为_a_消息,并将所有这些数字分开。

例如,用户输入数字“12345678”,最后我需要一条消息说“数字 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36”。我知道如何将所有这些数字分开和求和,但我不知道如何保存每个数字然后显示它,因为我不仅不知道正确的数字数量,而且我不知道它们的值要么。

通常这并不难,但对我来说棘手的部分来了,因为我们还没有学过arraysstrings、indexes、等等,我们不允许使用它们。所以,我应该使用尽可能简单的代码类型来完成。

到目前为止,我有以下内容:

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);
}

这可以在不使用数组和字符串的情况下以正确的顺序打印出所有数字。

例子:

Enter number:
12345
The numbers: 1 + 2 + 3 + 4 + 5 = 15
BUILD SUCCESSFUL (total time: 5 seconds)

关于java - 将一个数字的所有数字相加并在 Java 中分别显示数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40665438/

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