Hi Leute!
Einen wunderschönen Guten Morgen an alle!
Versuche seit geraumer Zeit ein kleines Problemchen zu lösen. Zwei Array von gleichem Datentyp aber unterschiedlicher Länge sollen zusamenaddiert werden, d.h. Element für Element. Und dann das Resultat als String ausgegeben werden.
Schritt 1: Die Länge von beiden Arrays vergleichen > Die Länge des kleineren als ein Int-Wert in eine Variable packen und einer neuen Int[]-Variable zuweisen
Schritt 2: Die Elemente beider Arrays durch eine for-Schleife durchiterieren. Die Anzahl der Iterationen ist gleich der Länge der eben zuvor belegten int[]-Variable.
So sieht´s dann aus
Die ausführende Methode:
import java.util.Arrays;
public class TestOne {
public static void main(String[] args) {
Ergebnis P = new Ergebnis();
int[]array1 = {1,2,3};
int[]array2 = {4,5,6,7,8};
P.setArrayOne(array1);
P.setArrayTwo(array2);
System.out.println(Arrays.toString(array1));
System.out.println(Arrays.toString(array2));
P.LVergleich();
P.Summe()
System.out.println(Arrays.toString(P.Summe());
}
}
Die Klasse mit Untermethoden:
public class Ergebnis {
private int[] arrayOne;
private int[] arrayTwo;
private int[] equivalentTwo;
private int equivalentOne;
public int[] getEquivalentTwo() {
return equivalentTwo;
}
public void setEquivalentTwo(int[] equivalentTwo) {
this.equivalentTwo = equivalentTwo;
}
public int getEquivalentOne() {
return equivalentOne;
}
public void setEquivalentOne(int equivalentOne) {
this.equivalentOne = equivalentOne;
}
public int[] getArrayOne() {
return arrayOne;
}
public void setArrayOne(int[] arrayOne) {
this.arrayOne = arrayOne;
}
public int[] getArrayTwo() {
return arrayTwo;
}
public void setArrayTwo(int[] arrayTwo) {
this.arrayTwo = arrayTwo;
}
public int[] LVergleich () {
if (arrayOne.length > arrayTwo.length) {
equivalentOne = arrayTwo.length;
}
int[]equivalentTwo = new int[equivalentOne];
return equivalentTwo;
}
public int[] Summe () {
int[]sum = equivalentTwo;
for (int z = 0; z <equivalentTwo.length; z++) {
sum[z] = arrayOne[z] + arrayTwo[z];
}
return sum;
}
}
Und das ist die Exception bei dem Ausführungsversuch:
Exception in thread "main" java.lang.NullPointerException: Cannot read the array length because "this.equivalentTwo" is nullAlso ich stehe gerade so richtig aus dem Schlauch und komme nicht weiter. Wenn mir lemand helfen könnte den/die Fehler in meinem Code zu verstehen wäre ich dankbar.
Kennt jemand vielleicht, wie mann die Arrays sonst aufaddieren kann? Für die Info wäre ich ebenfalls dankbar 🥺
PS: Sorry für die unakkurate CodeFormatierung. Habe erst grade bemerkt 😬
Zuletzt bearbeitet: