//Addition:
int a = 5;
int b = 3;
int ergebnis = a + b;
int zahl = 10;
int ziffernAnzahl = Integer.toString(zahl).length();
1234
5678
-----
6912
public static String add(String s1, String s2) {
while (s1.length() < s2.length())
s1 = '0' + s1;
while (s2.length() < s1.length())
s2 = '0' + s2;
char[] result = new char[s1.length()];
int carry = 0;
for (int i = s1.length()-1; i >= 0; i--) {
int a = Character.digit(s1.charAt(i), 10),
b = Character.digit(s2.charAt(i), 10),
c = carry,
d = (a+b+c)%10,
e = (a+b+c)/10;
result[i] = Character.forDigit(d, 10);
carry = e;
}
if (carry > 0)
return carry + new String(result);
return new String(result);
}
public static void main(String[] args) {
System.out.println(add("999999","123456"));
}
Man kann auch die Zahlen alle in ein Array schrieben und dann ganz komplex mit einem zweiten Array. Das ganze ist so blödsinnig, weil in Java der String und int nix weiter als Objekte von CharSequenzen sind und somit wiederum auch nur Arrays in einem Computerspeicher.
Aber mit einer Liste (oder auch zwei) könnte man so rechnen, ich frage mich allerdings warum? Man soll das Rad nicht zweimal erfinden.