我写了一个程序,我想对字符串进行加减运算,其中所有字符串的长度都是四,看起来像“+002”、“+569”、“-022”、“-789”等。我已经尝试在不使用任何乘法、除法或余数的情况下执行此操作,但仅使用加法和减法作为运算,但我的问题是某些情况还不起作用,我不明白为什么或如何解决它因为用这么长的代码很难看清问题究竟出在哪里以及我应该改变什么。所以这里是相关的方法:
public static String add(String s1, String s2) {
int number;
int[] s = new int[4];
String result = "";
if (s1.contains("+") && s2.contains("+")) {
result = "+";
for (int i = 1; i < s1.length(); ++i) {
if (!(s1.charAt(i) == 0 || s2.charAt(i) == 0)) {
if ((int) (s1.charAt(i)) + (int) (s2.charAt(i)) - 96 < 10) s[i] = (int) (s1.charAt(i)) + (int) (s2.charAt(i)) - 96;
else {
s[i] = (s1.charAt(i)) + (int) (s2.charAt(i)) - 106;
++s[i - 1];
}
}
else if (s1.charAt(i) != 0 && s2.charAt(i) != 0) {
s[i] = (int) (s1.charAt(i)) + (int) (s2.charAt(i)) - 96;
}
}
}
else if (s1.contains("-") && s1.contains("-")) {
result = "-";
for (int i = 1; i < s1.length(); ++i) {
if ((!(s1.charAt(i) == 0 || s2.charAt(i) == 0))) {
if ((int) (s1.charAt(i)) + (int) (s2.charAt(i)) - 96 < 10) s[i] = (int) (s1.charAt(i)) + (int) (s2.charAt(i)) - 96;
else {
s[i] = (s1.charAt(i)) + (int) (s2.charAt(i)) - 106;
++s[i - 1];
}
}
else if (s1.charAt(i) != 0 && s2.charAt(i) != 0) {
s[i] = (int) (s1.charAt(i)) + (int) (s2.charAt(i)) - 96;
}
}
}
扬帆大鱼
暮色呼如
慕沐林林
相关分类