题目描述
请设计一个算法能够完成两个用字符串存储的整数进行相加操作,对非法的输入则返回error
输入描述:
输入为一行,包含两个字符串,字符串的长度在[1,100]。
输出描述:
输出为一行。合法情况输出相加结果,非法情况输出error
代码实现:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入两个字符串:");
String a = input.next();
String b = input.next();
int max = a.length() > b.length() ? a.length():b.length();
char aa[] = a.toCharArray();
char bb[] = b.toCharArray();
int x = 0,y = 0,k = 0;
int s[] = new int[max+1];
try {
for(int i = 0;i <= max;i++){
if(i < a.length()){
x = Integer.parseInt(String.valueOf(aa[aa.length-1-i]));
}else {
x = 0;
}
if(i < b.length()){
y = Integer.parseInt(String.valueOf(bb[bb.length-1 - i]));
}else {
y = 0;
}
s[max-i] = x + y + k;
k = 0;
if(s[max-i] >= 10){
s[max-i] = s[max-i] % 10;
k = 1;
}
}
for (int i = 0; i < s.length; i++) {
if (i == 0 && s[i] == 0) {
continue;
}
System.out.print(s[i]);
}
} catch (Exception e) {
// TODO: handle exception
System.out.println("Error");
}
}
}
示例1
输入
123 123 abd 123
输出
246 Error