gpt4 book ai didi

java - 使用数组将数字相加并垂直打印总和

转载 作者:行者123 更新时间:2023-12-01 18:03:32 24 4
gpt4 key购买 nike

我必须创建一个程序,将两个整数相加并垂直打印总和。
比如我就有。

a=323, b=322.

输出应该是:

6
4
5

我已经为整数最多为两位数创建了代码,但我希望它至少适用于三位数字。

以下是我能想到的最好的。
这可能是完全错误的,但我面临的唯一问题是数组的声明。
它表示该数组可能未初始化。
如果我将其设置为 null,那么以后也不会为其赋值。

我知道也许我在这里犯了一个大错误,但如果有人能帮助我,我将非常感激。
请记住,我不得在此代码中使用任何其他函数。
希望我说得清楚。

public class Vert
{
public static void main(String args[])
{
int n,i=0,j,a=323,b=322;
int s[];
n=a+b;
while(n>9)
{
s[i]=n%10;
i++;
s[i]=n/10;
if(s[i]>9)
{
n=s[i];
}
}
j=i;
for(j=i;j>=0;j--)
{
System.out.println(+s[j]);
}
}
}

最佳答案

字符串转换看起来像是作弊,所以这里有一个Stack

int a = 323, b = 322;

java.util.Stack<Integer> stack = new java.util.Stack<>();

int n = a + b;
while (n > 0) {
stack.push(n % 10);
n = n / 10;
}

while (!stack.isEmpty())
System.out.println(stack.pop());
<小时/>

如果需要数组,则需要对总和进行两次传递

int a = 323, b = 322;

// Get the size of the array
int n = a + b;
int size = 0;
while (n > 0) {
size++;
n = n / 10;
}

// Build the output
int s[] = new int[size];
n = a + b;
for (int i = size - 1; n > 0; i--) {
s[i] = n % 10;
n = n / 10;
}

// Print
for (int x : s) {
System.out.println(x);
}

关于java - 使用数组将数字相加并垂直打印总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38773536/

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