[英]Java - add 2 numbers together (as strings, can't use parse.int)
我需要有 2 个命令行参数作为 2 个字符串数字。 然后使用循环,将数字相加。 例如,
Java AddStrings 123 456
总和为:579
这是课堂作业,无法弄清楚循环是什么。 我也不能只使用 parse.Int 将字符串转换为整数。 有任何想法吗?
基本上你会找到字符串的长度。 循环遍历每个单独的字符(我会从字符串的末尾开始并向后工作)。 然后对于循环的每次迭代,您将把 char 转换为 int(通过类型转换)并将其添加到您的总数中。 每次您踏出一步时,请确保将您的数字乘以 10 的幂。 取该值,然后将它们相加,然后输出您的答案。 (不会给你代码因为它是家庭作业;))
int a = Integer.valueOf(args[0]);
int b = Integer.valueOf(args[1]);
很简单。 我发现很多只是看着谷歌。 或者:
Integer i = new Integer(args[x]);
试试这个:-
首先,你接受输入。让 s1 和 s2 是 2 个字符串。所需的循环是这样的:-
String ar[]={s1,s2};
int n=0;
for(int i=0;i<2;i++)
n+=Integer.parseInt(ar[i]);
System.out.println("The sum is:-"+n);
只需使用“+”将它们加在一起。 我认为你是在过度思考这个问题。
public String addStrings(String num1, String num2) {
StringBuilder sb = new StringBuilder();
int carry = 0;
int i = num1.length() - 1;
int j = num2.length() - 1;
while (i > -1 || j > -1) {
int sum = carry + (i < 0 ? 0 : num1.charAt(i--) - 48);
sum += j < 0 ? 0 : num2.charAt(j--) - 48;
sb.append(sum % 10);
carry = sum / 10;
}
return sb.append(carry == 1 ? "1" : "").reverse().toString();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.