Menge -> Vereinigung

sh33p

Bekanntes Mitglied
Moin. Ich frage mich, wieso meine statische Methode zur Vereinigung von 2 Mengen nicht funktioniert..Wenn ich durch eine Ausgabe das Ergebnis überprüfen will, so stehen in dem Array weiterhin nur null Referenzen..

Java:
public class Menge   {

 Integer[] array = new Integer[5];
static int count= -1;

public static Menge vereinige(Menge m2, Menge m1)

        {
           Menge m3 = new Menge();     // neue Menge/Array

            int zaehler = 0;

            boolean found = false;

            if (zaehler > m1.array.length)

            {
                m3.array = new Integer[m1.array.length + m2.array.length];
                // m1 in m3 kopieren

                for (int i = 0; i < m3.array.length - 1; i++)

                {

                    m3.array[i] = m1.array[i];

                    zaehler++; 
                }

               for(int j = 0; j < m2.array.length; j++) //
                {
                    

                    for (int i = 0; i < zaehler; i++)

                    {
                       // wenn element in m2 und m3 vorhanden, dann foudn auf true setzen

                        if (m2.array[j] == m3.array[i])

                        {

                           found = true;
                        }

                    }

                   //jetzt prüfen ob unser akteulles element aus m2 in m3 schon vorhanden ist

                    if(found)

                    {

                        //Nichts machen. Element schon vorhanden
                    }

                    else //Element wurde nicht gefunden. Wir hängen es an m3 dran

                    {

                        m3.array[zaehler-1] = m2.array[j]; //m2[j] an m3 anhängen


                        m2.array[j] = null; // m2[j] 'löschen

                    }

                    found = false

                    }

           }    m3.ausgeben();
            return m3;

        }
}
 

Landei

Top Contributor
Warum benutzt du für deine Mengen intern ein Array und nicht ein Set (das ist übrigens englisch und heißt "Menge")? Dann reduziert sich dein Problem auf
Java:
Set<Integer> newSet = new HashSet<Integer>();
newSet.addAll(m1.set);
newSet.addAll(m2.set);
return newSet;

Ansonsten kannst du ein Set auch als Zwischenresultat verwenden:
Java:
Set<Integer> newSet = new TreeSet<Integer>();
for(Integer i : m1.array) {
   newSet.add(i);
}
for(Integer i : m2.array) {
   newSet.add(i);
}

//zurück in ein Array kopieren
int[] newArray = new int[newSet.size()];
Iterator<Integer> it = newSet.iterator();
for(int i = 0; i < newArray.length; i++) {
   newArray[i] = it.next();
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
ArrayList mit unbekannter Menge an Arrays die Arrays vergleichen Java Basics - Anfänger-Themen 9
A Klasse Menge mit Objekten der Klasse Person Java Basics - Anfänger-Themen 8
O Iterator für eine geordnete Menge Java Basics - Anfänger-Themen 134
C Die Klasse Menge mit Konstruktoren und einfachen Methoden Java Basics - Anfänger-Themen 5
C Menge (Klasse und Objekte) Java Basics - Anfänger-Themen 3
Y Variable Menge von Objekten erzeugen und mit ihren Attributen rechnen Java Basics - Anfänger-Themen 7
P Element aus einer einelementigen Menge bekommen. Java Basics - Anfänger-Themen 8
S Fehler im Programm "Menge" Java Basics - Anfänger-Themen 13
U Menge des Vorkommens eines Strings in einem Anderen Java Basics - Anfänger-Themen 5
Guybrush Threepwood Effizientester Datentyp zur Speicherung einer ungeordneten Menge von ints Java Basics - Anfänger-Themen 8
K Neue Menge aus zwei Mengen konstruieren Java Basics - Anfänger-Themen 3
S Klasse Menge Java Basics - Anfänger-Themen 12
K Menge von Mengen Java Basics - Anfänger-Themen 2
S Wert-Orientere Klasse Menge Java Basics - Anfänger-Themen 23
G wie chars mit einer menge von chars vergleichen Java Basics - Anfänger-Themen 9
L Kombinationen einer Menge rekursiv berechnen Java Basics - Anfänger-Themen 11
G Wie erzeuge ich eine variable Menge von Variablen! Java Basics - Anfänger-Themen 2
S Leere Menge von integer Java Basics - Anfänger-Themen 3
S Mandelbrot Menge Java Basics - Anfänger-Themen 19
K Variable Menge an Variablennamen per Schleife erstellen Java Basics - Anfänger-Themen 10
J Vereinigung von 2 Mengen [gelöst] Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben