Hallo an Alle,
ich muss für den Unterricht eine Testmethode schreiben, welches mir ein paar Probleme bereitet. Ich hoffe, mir kann jemand weiter helfen.
Wir haben eine Methode add, die zwei Zahlen der gleichen Länge als Parameter hat und ein neues Array berechnet, das die Summe der beiden Zahlen repräsentiert.
Mit diesem Teil des Programms habe ich kein Problem.
Diese Methode soll nun getestet werden durch eine Methode,die testet, ob beide Arrays definiert, die Länge jeweils gleich und > 0 und alle Ziffern zwischen 0 und 9. add soll die Methode verwenden.
Und hier beginnt mein Problem. Ich weis nicht, wie ich diesen test schreibe und diesen dann auch aufrufe.
Hier mein Code bisher:
Ich bin dankbar über jede Hilfe,
Manu
ich muss für den Unterricht eine Testmethode schreiben, welches mir ein paar Probleme bereitet. Ich hoffe, mir kann jemand weiter helfen.
Wir haben eine Methode add, die zwei Zahlen der gleichen Länge als Parameter hat und ein neues Array berechnet, das die Summe der beiden Zahlen repräsentiert.
Mit diesem Teil des Programms habe ich kein Problem.
Diese Methode soll nun getestet werden durch eine Methode,die testet, ob beide Arrays definiert, die Länge jeweils gleich und > 0 und alle Ziffern zwischen 0 und 9. add soll die Methode verwenden.
Und hier beginnt mein Problem. Ich weis nicht, wie ich diesen test schreibe und diesen dann auch aufrufe.
Hier mein Code bisher:
Java:
public class ArraySum {
public static void main(String[] args) {
// int arrayOne[] = {4, 3, 2, 1}; // ist zahl 1234
// int arrayTwo[] = {8, 7, 6, 5}; // ist zahl 5678
int arrayOne[] = {8, 9, 9, 9};
int arrayTwo[] = {2, 0, 0, 0};
int[] summe = add(arrayOne, arrayTwo);
for (int index = 0; index < summe.length; index++) {
System.out.print(summe[index]); // ausgabe aller werte
}
}
public static int[] add(int[] a, int[] b) {
int add[] = new int[a.length + 1]; // +1 falls es bei letzter addition noch zu einem übertrag kommt
int sum = 0; // summe der aktuell berechneten stelle
if (testArrays(int[] a, int[] b) == true){
for (int i = 0; i < add.length - 1; i++) { // -1 da oben +1
sum += a[i] + b[i];
add[i] = sum % 10;
sum = sum / 10;
}
add[add.length - 1] = sum; // setzt uebertrag an naechste stelle
return add;
}
}
public static boolean testArrays(int[] a, int[] b) {
if (a.length == b.length ){
return true;
}else{
return false;
}
}
}
Ich bin dankbar über jede Hilfe,
Manu