Arrays aufsummieren

  • Themenstarter AbsolutBeginner
  • Beginndatum
A

AbsolutBeginner

Mitglied

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 null

Also 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:
temi

temi

Top Contributor
Java:
if (arrayOne.length > arrayTwo.length) {
equivalentOne = arrayTwo.length;
}
int[]equivalentTwo = new int[equivalentOne];

Wenn One kleiner als Two ist, dann bleibt equivalentOne gleich 0 und damit ist equvalentTwo ein leeres Array.

Du solltest noch etwas an deiner Benamung arbeiten, da schwirrt einem ja der Kopf... und zusätzlich noch generell: Klassennamen mit einem Großbuchstaben am Anfang, Variablen- und Methodennamen mit einem Kleinbuchstaben am Anfang.
 
A

AbsolutBeginner

Mitglied
Java:
if (arrayOne.length > arrayTwo.length) {
equivalentOne = arrayTwo.length;
}
int[]equivalentTwo = new int[equivalentOne];

Wenn One kleiner als Two ist, dann bleibt equivalentOne gleich 0 und damit ist equvalentTwo ein leeres Array.

Du solltest noch etwas an deiner Benamung arbeiten, da schwirrt einem ja der Kopf... und zusätzlich noch generell: Klassennamen mit einem Großbuchstaben am Anfang, Variablen- und Methodennamen mit einem Kleinbuchstaben am Anfang.
Ja ich weiss 🙄🙏 Es tut mir leid. Ich bin in diesem Punkt nicht gerade besonders kreativ.
 
temi

temi

Top Contributor
Ich bin in diesem Punkt nicht gerade besonders kreativ.
Viel Kreativität ist da nicht notwendig. Der Name sollte aussagekräftig in Hinblick auf die Funktion der Methode/Variablen sein. Im einfachsten Fall nimm einfach das als Name.

"equivalentOne" speichert die Länge des kürzeren Arrays: "shortArrayLength" wäre mal ein Ansatz für einen aussagekräftigen Namen.
 
A

AbsolutBeginner

Mitglied
Ja ich weiss 🙄🙏 Es tut mir leid. Ich bin in diesem Punkt nicht gerade besonders kreativ.
Ähmmm. Ich copiere es trotzdm nicht. Das ist doch die Bedingung, wenn One kleiner als Two ist, dann soll seine Länge (in diesem Fall 3) der Eq.One als int-wert zugewiesen werden. eq.One soll dann 3 sein. Warum ist es 0?
 
A

AbsolutBeginner

Mitglied
Viel Kreativität ist da nicht notwendig. Der Name sollte aussagekräftig in Hinblick auf die Funktion der Methode/Variablen sein. Im einfachsten Fall nimm einfach das als Name.

"equivalentOne" speichert die Länge des kürzeren Arrays: "shortArrayLength" wäre mal ein Ansatz für einen aussagekräftigen Namen.
Danke, das klingt wirklich besser.
 
temi

temi

Top Contributor
Ähmmm. Ich copiere es trotzdm nicht. Das ist doch die Bedingung, wenn One kleiner als Two ist, dann soll seine Länge (in diesem Fall 3) der Eq.One als int-wert zugewiesen werden. eq.One soll dann 3 sein. Warum ist es 0?
Du deklarierst eine Instanzvariable "equivalentOne", die mit 0 initialsiert wird. Dann sagst du: Wenn One größer ist als Two, setze diese Variable auf die Länge von Two. Ansonsten bleibt sie halt 0.
 
temi

temi

Top Contributor
Ich sehe gerade noch einen Fallstrick:
Java:
public int[] LVergleich () {
    // ...
   
    // hier deklarierst du eine NEUE lokale Variable equivalentTwo, welche die
    // Instanzvariable equivalentTwo überdeckt. Diese neue Variable wird zwar
    // zurückgegeben, aber beim Aufruf der Methode machst du nichts damit.
    int[] equivalentTwo = new int[equivalentOne];
    return equivalentTwo;
}
 
A

AbsolutBeginner

Mitglied
Ich sehe gerade noch einen Fallstrick:
Java:
public int[] LVergleich () {
    // ...

    // hier deklarierst du eine NEUE lokale Variable equivalentTwo, welche die
    // Instanzvariable equivalentTwo überdeckt. Diese neue Variable wird zwar
    // zurückgegeben, aber beim Aufruf der Methode machst du nichts damit.
    int[] equivalentTwo = new int[equivalentOne];
    return equivalentTwo;
}
Yeeeees! Jetzt leuchtet´s mir ein. Sorry nochmal, ich hab das mit Instanz- und Lokalvariablen noch nicht so richtig verstanden. Ich brauche dringend mehr Übung.

Und einen Riesendank für Ihre Erklärung 🙏
 
A

AbsolutBeginner

Mitglied
Ich hab das mit richtiger Syntax und Semantik von Java noch nicht richtig drauf.

Java:
public int[] vergleich(){

        if (arrayOne.length < arrayTwo.length) {
            equivalentOne = arrayOne.length;
        }else{
            equivalentOne = arrayTwo.length;
        }
        equivalentTwo = new int[equivalentOne];
        return equivalentTwo;

jetzt wird´s ausgeführt, ohne ecxeptions !

Später probiere ich die Eingabeoption von Konsole aus mit Scanner einzubauen, dann ist mein Mikroprogrammchen fertig!
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
C Wie 2 Arrays zusammenfügen und sortieren? Java Basics - Anfänger-Themen 11
S Arrays aneinanderketten Java Basics - Anfänger-Themen 20
Sinan Arrays auflisten ohne Wiederholung Java Basics - Anfänger-Themen 28
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
R Werte und Reihenfolge in 2d Arrays vergleichen Java Basics - Anfänger-Themen 5
D Verschlüsslungsaufgabe / Arrays Java Basics - Anfänger-Themen 6
L Methode für Zweidimensionale Arrays Java Basics - Anfänger-Themen 4
L Methode zum invertieren eines Arrays Java Basics - Anfänger-Themen 7
S zweidimensionale char arrays Java Basics - Anfänger-Themen 14
J Methoden Mehrdimensionale Arrays übereinander legen Java Basics - Anfänger-Themen 5
D Verwirrung bei Streams aus primitiven Arrays Java Basics - Anfänger-Themen 2
P Arrays mit verschiedenen Längen miteinander dividieren. Java Basics - Anfänger-Themen 1
P Wie kann ich die Zahlen dieses Arrays dividieren? Java Basics - Anfänger-Themen 2
N 2D Arrays jedes xy vergleichen Java Basics - Anfänger-Themen 7
J Traveling Salesman Problem [Arrays] Java Basics - Anfänger-Themen 9
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
Kawastori Größe eines Arrays bestimmen Java Basics - Anfänger-Themen 13
Zeppi Arrays[i] Java Basics - Anfänger-Themen 7
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
J B-Sprache mit Arrays ausführen Java Basics - Anfänger-Themen 18
A Teilarrays eines 2D-Arrays sortieren Java Basics - Anfänger-Themen 4
C Arrays - deklarieren, initialisieren? Ist das ein Objekt? Java Basics - Anfänger-Themen 3
K Sudoku mit 2D Arrays Java Basics - Anfänger-Themen 19
T Vertikales Histogramm mit Arrays Java Basics - Anfänger-Themen 3
JD_1998 Arrays einlesen, zwischenspeichern und wieder ausgeben Java Basics - Anfänger-Themen 8
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
F Arrays: Mathematische Funktion Java Basics - Anfänger-Themen 19
mihe7 Von Datentypen und (mehrdimensionalen) Arrays Java Basics - Anfänger-Themen 4
A Teilen eines Arrays Java Basics - Anfänger-Themen 5
DorFey Sortieren eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 8
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
L If und else bei 2 Dimensionalen Arrays Java Basics - Anfänger-Themen 8
1 Arrays Java Basics - Anfänger-Themen 7
M Rückgabe eines Arrays Java Basics - Anfänger-Themen 10
L Addition von Arrays über die Parameterliste Java Basics - Anfänger-Themen 11
Z Erste Schritte Indexe innerhalb eines Arrays zusammensählen Java Basics - Anfänger-Themen 14
N Länge eines Arrays in einem Objekt testen Java Basics - Anfänger-Themen 51
S Übergabe von Arrays an Methoden Java Basics - Anfänger-Themen 20
D Collections Arrays in ArrayList abspeichern Java Basics - Anfänger-Themen 6
A Freie Stelle eines Arrays Java Basics - Anfänger-Themen 17
H Ein gegebenes Int Array zu Zwei Arrays zurück geben Java Basics - Anfänger-Themen 6
J 2D Arrays summieren Java Basics - Anfänger-Themen 21
J zwei String Arrays miteinander vergleichen Java Basics - Anfänger-Themen 18
A Java.util.Arrays Java Basics - Anfänger-Themen 15
T Methodenverknüpfung mit Arrays Java Basics - Anfänger-Themen 4
R Zugriff auf den Index eines Arrays, welches ein Objekt ist. Java Basics - Anfänger-Themen 4
F Eine Zahl mit Arrays vergleichen Java Basics - Anfänger-Themen 7
A 2d Arrays aus txt.file einlesen Java Basics - Anfänger-Themen 16
B Arrays Java Basics - Anfänger-Themen 4
P Arrays "automatisch" erstellen lassen Java Basics - Anfänger-Themen 12
B Nur eine bestimmte Anzahl an Arrays ausgeben Java Basics - Anfänger-Themen 9
H Gemeinsame Schnittmenge zweier Arrays ausgeben Java Basics - Anfänger-Themen 12
H Größte Duplikat (Größte Doppelte Wert) eines Arrays ausgeben Java Basics - Anfänger-Themen 9
A Summe des Arrays pd mit alternativer Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Verständnisproblem der Rekursion bei Arrays Java Basics - Anfänger-Themen 8
F Mehrdimensionale Arrays Java Basics - Anfänger-Themen 12
M Arrays in Funktion Kopieren und Bearbeiten Java Basics - Anfänger-Themen 4
W Erste Schritte Arrays befüllen und ausgeben Java Basics - Anfänger-Themen 11
J Inhalte von zwei Arrays vertauschen?! Java Basics - Anfänger-Themen 6
Curtis_MC Erzeugung mehrdimensionaler Arrays Java Basics - Anfänger-Themen 2
O zwei Arrays nach Werten durchsuchen und zusammenfügen Java Basics - Anfänger-Themen 3
F Arbeiten mit Arrays Java Basics - Anfänger-Themen 2
D Wert des Arrays unter Bedingungen ändern Java Basics - Anfänger-Themen 1
M Werte des Arrays addieren Java Basics - Anfänger-Themen 5
L Zufällige Übereinstimmungen in 2 Arrays Java Basics - Anfänger-Themen 3
A Arrays kombinieren (länge eines Arrays kann 0 sein) Java Basics - Anfänger-Themen 6
A Alle true Werte eines boolean Arrays herausfiltern Java Basics - Anfänger-Themen 19
iman Variablen Dynamik Arrays Java Basics - Anfänger-Themen 9
R Arrays Java Basics - Anfänger-Themen 4
A Methoden Arrays Java Basics - Anfänger-Themen 20
D Unterschied == und equals in Arrays Java Basics - Anfänger-Themen 2
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
V Probleme mit Arrays Java Basics - Anfänger-Themen 8
S Arrays erstellen Java Basics - Anfänger-Themen 6
D Ergebnisse in Arrays ausgeben? Java Basics - Anfänger-Themen 11
M Die Inhalte eines Arrays mit der Methode Arrays.toString ausgeben Java Basics - Anfänger-Themen 4
R Weitergabe von Arrays aus Methoden in andere Klasse Java Basics - Anfänger-Themen 5
scratchy1 vollständige und unvollständige Arrays ausgeben Java Basics - Anfänger-Themen 11
L Tiefe Kopie einer Zeile eines zweidimensionalen Arrays Java Basics - Anfänger-Themen 1
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
L Addition von 1 bis n, in Arrays umstellen Java Basics - Anfänger-Themen 15
M Deklarieren und Initialisieren von Arrays Java Basics - Anfänger-Themen 3
O Arrays sortieren in einer Methode Java Basics - Anfänger-Themen 2
E Mehrere Arrays addieren mit Übertrag Java Basics - Anfänger-Themen 13
B Frage zu Arrays Java Basics - Anfänger-Themen 3
O Unterschied Arrays, Listen, Mengen Java Basics - Anfänger-Themen 24
F Arrays im Konstruktor Java Basics - Anfänger-Themen 5
E Methoden 2 Arrays sortieren (MergeSort) Java Basics - Anfänger-Themen 3
R 2D Arrays mit vorgegebenem Muster Java Basics - Anfänger-Themen 2
R Auf eine Stelle [i] des Arrays zugreifen Java Basics - Anfänger-Themen 7
M Methoden Arrays.deepequals() funktioniert nicht Java Basics - Anfänger-Themen 2
O Länge eines Arrays Java Basics - Anfänger-Themen 6
X Arrays untereinander schreiben Java Basics - Anfänger-Themen 4
F Arrays Duplizieren Java Basics - Anfänger-Themen 14
J Erste Schritte Arrays ineinander Verschachteln Java Basics - Anfänger-Themen 6
UnknownInnocent Variablen Teile eines Arrays zufällig sortieren Java Basics - Anfänger-Themen 7
E Arrays nach best Muster füllen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen


Oben