我需要 2 个命令行参数作为 2 个字符串数字。然后使用循环,将数字加在一起。例如,
Java 添加字符串 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();
}
需要解析一个String的每个字符来计算总和如下:
private static String calcSum(String a, String b) {
StringBuilder res = new StringBuilder();
int carry = 0;
int sum = 0;
for(int i=a.length()-1, j=b.length()-1; i>=0 || j>=0; i--,j--) {
char charA = (i>=0)? a.charAt(i) : '0';
char charB = (j>=0)? b.charAt(j) : '0';
sum = charA-'0' + charB-'0' + carry;
carry = (sum>=10)? 1 : 0;
res.append(sum%10);
}
if(sum>=10) {
res.append(1);
}
return res.reverse().toString();
}