Hallo!
Meine Aufgabenstellung lautet: ich soll 2 Mengen aus der Menge 0-50 einlesen und die Vereinigung, Differenz, symmetrische Differenz und durchschnitt bilden.
Das PROBLEM: er gibt mir immer alle Zahlen aus!!!!!
Die Eingabe funktioniert!
Meine Aufgabenstellung lautet: ich soll 2 Mengen aus der Menge 0-50 einlesen und die Vereinigung, Differenz, symmetrische Differenz und durchschnitt bilden.
Das PROBLEM: er gibt mir immer alle Zahlen aus!!!!!
Die Eingabe funktioniert!
Code:
public class Mengenoperation{
public static void main (String[]args){
//}
//static boolean[]readSet(){
boolean[]a=new boolean[51];
boolean[]b=new boolean[51];
int z=0;
int y=0;
int anzahl_A;
int anzahl_B;
boolean[]h=new boolean[51];
Out.println("Wieviele Zahlen moechten Sie fuer Menge A eingeben?");
anzahl_A=In.readInt();
Out.println("Wieviele Zahlen moechten Sie fuer Menge B eingeben?");
anzahl_B=In.readInt();
for(int i=0; i<=50; i++)
a[i]=false;
for(int i=0; i<=50; i++)
b[i]=false;
if(anzahl_A>50 || anzahl_B>50){
Out.println("Es duerfen nicht mehr als 50 Zahlen eingegeben werden, versuchen Sie es noch mal");
}
Out.println("Geben Sie die Zahlen fuer A ein");
for(int i=0; i<anzahl_A; i++) {
z=In.readInt();
if (z >50 )
Out.println("Die Zahlen duerfen nicht ueber 50 sein! ");
a[z]=true;
}
Out.println("Geben Sie die Zahlen fuer B ein");
for(int i=0; i<anzahl_B; i++){
y=In.readInt();
b[y]=true;
}
//Hilfsvariable h
h=union(a, b);
Out.println("Die Vereinigungsmenge von der Menge A und B lautet: ");
writeSet(h);
h=intersection(a, b);
Out.println("Der Durchschnitt von der Menge A und B lautet: ");
writeSet(h);
h=difference(a, b);
Out.println("Die Differenz von der Menge A und B lautet: ");
writeSet(h);
h=symmetricDifference(a, b);
Out.println("Die symmetrische Differenz von der Menge A und B lautet: ");
writeSet(h);
}
//Ende Methode
static void writeSet(boolean[]s){
s=new boolean[51];
for(int i=0;i<50; i++){
if (s[i]=true){
Out.println(i);
}
}
}
static boolean[] union(boolean[]a, boolean[]b){
boolean[]c=new boolean[51];
for(int i=0; i<=50;i++)
if(a[i]==true && b[i]==true)
c[i]=true;
else c[i]=false;
return c;
}
static boolean[] intersection(boolean[]a, boolean[]b){
boolean[]c=new boolean[51];
for(int i=0; i<=50;i++)
if(a[i]==true && b[i]==true && a[i]==b[i])
c[i]=true;
else c[i]=false;
return c;
}
static boolean[] difference(boolean[]a, boolean[]b){
boolean[]c=new boolean[51];
for(int i=0; i<=50;i++)
if(a[i]==true && a[i]!=b[i])
c[i]=true;
else c[i]=false;
return c;
}
static boolean[] symmetricDifference(boolean[]a, boolean[]b){
boolean[]c=new boolean[51];
for(int i=0; i<=50;i++)
if(b[i]==true && a[i]==true && a[i]!=b[i])
c[i]=true;
else c[i]=false;
return c;
}
}