[英]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.