/* */ public class Dezimalzahl { private byte[] zahlenfolge; public Dezimalzahl(String zahl) { this.zahlenfolge = new byte[zahl.length()]; for (int i = 0; i < zahl.length(); i++) { this.zahlenfolge[i] = (byte)zahl.charAt(i); } } public int asciiZuInt(byte asciicode) { return (int)asciicode - 48; } public Dezimalzahl addiere(String summand) { int zwischenergebnis; int i = 0; int len_zahlenfolge = zahlenfolge.length; int len_summand = summand.length(); int len_gesamt = (len_zahlenfolge >= len_summand) ? len_zahlenfolge : len_summand; int len_kleineZahl = (len_zahlenfolge < len_summand) ? len_zahlenfolge : len_summand; int uebertrag = 0; for(i = len_gesamt - 1; i > 0; i = i - 1) { if(i < len_kleineZahl) { zwischenergebnis = (this.asciiZuInt(zahlenfolge[i]) + new Dezimalzahl(summand) .asciiZuInt(zahlenfolge[i])) + uebertrag; uebertrag = (zwischenergebnis > 9) ? zwischenergebnis % 10 : 0; } else { zwischenergebnis = (this.asciiZuInt(zahlenfolge[i])>; } } } }