Methoden Mengen

Stefan241

Mitglied
Hallo liebe Community ,

ich bin echt verzweifelt und sitze schon seit Stunden an einer Aufgabe.
Ich soll die Vereinigungsmenge die Schnittmenge und die Mengendifferenz zweier Mengen per objektorientiert heraus finden.
Dabei hab ich folgende Klasse und TestKlasse:
Java:
public class Menge {
    int[] werte;
    int anzahl;

    public Menge(int max){
    werte = new int[max];
    }

    // Ausgabe der gespeicherten Werte in einer Zeile
    public void ausgeben(){
    for (int i=0;i<anzahl;i++){
        System.out.print(werte[i] + " ");
    }
    System.out.println();
    }


    // Methode prueft, ob ein Wert $k$ in der Menge enthalten ist.
    // Ist dies der Fall, wird true zurückgegeben, ansonsten false.
    public boolean enthalten(int k){
    boolean gefunden = false;
    int i = 0;
    while (!gefunden && i<anzahl && (k >= werte[i])){
        if (werte[i] == k){
        gefunden = true;
        } 
        i++;
    }
    return gefunden;
    }
   
    // Sofern noch Platz in der Menge ist  und der Wert von v
    // noch nicht in der Menge enthalen ist, wird dieser 
    // sortiert in die Menge eingefuegt.
    public boolean einfuegen(int v){
    if ((anzahl < werte.length) && (!enthalten(v))){
        int i=0;
        while ((i<anzahl) && (v > werte[i])){
        i++;
        }
        for (int j = anzahl; j > i; j--){
        werte[j] = werte[j-1];
        }
        werte[i] = v;
        anzahl++;
        return true;
    } else {
        return false;
    }
    }

    // Sofern das Element v in der Menge enthalten ist, wird
    // es daraus geloscht.
    public void loeschen(int v){
    if (enthalten(v)){
        int i=0;
        while (i < anzahl){
        if (werte[i] == v){
            for (int j=i+1;j<anzahl;j++){
            werte[j-1] = werte[j];
            }
            break;
        }
        i++;
        }
        anzahl--;
    }
    }


   
}
Java:
public class TestMengen {
    public static void main(String[] args){
    // Menge m1 generieren und mit den ersten 15 Vielfachen von
    // 2 (2,4,6,...,30) füllen
    // Menge dann ausgeben.
    Menge m1 = new Menge(15);
    for (int i=1;i<=15;i++){
        m1.einfuegen(i*2);
    }
    System.out.print("m1: ");
    m1.ausgeben();

    // Menge m2 generieren und mit den ersten 10 Vielfachen von
    // 3 (2,4,6,...,30) füllen
    // Menge dann ausgeben.
    Menge m2 = new Menge(10);
    for (int i=10;i>=1;--i){
        m2.einfuegen(i*3);
    }
    System.out.print("m2: ");
    m2.ausgeben();


    // Menge m3 anlegen als Vereinigungsmenge von m1 und m2
    // m3 ausgeben

    // Menge m4 anlegen als Schnittemenge von m1 und m2
    // m4 ausgeben

    // Menge m5 anlegen als m3 \ m4
    // m5 ausgeben
   
    }
}
ich wäre wirklich über jede Hilfe dankbar ich habe für die vergleichsmenge schon folgenden code weis aber nicht wie ich diesen auf mein Problem anpassen soll
Java:
  public Int union(Int anySet) {
        Int temp = new Int();
        for (int i = 0; i < Array.length; i++) {
            for (int j = 0; j < anySet.Array.length; j++) {
                temp.Array[i] = Array[i];
                if (anySet.Array[j] != 0) {
                    temp.Array[j] = anySet.Array[j];
                }
            }
        }
        return temp;
    }
 
Zuletzt bearbeitet von einem Moderator:

Neue Themen


Oben