Vereinigungen und Schnittmengen von Strings/Arrays

zooza

Mitglied
Hallo,

ich bin grade am verzweifeln...

Ich muss für die Uni ein Programm in Java schreiben, welches als Eingabe 3 Mengen bekommt( zB.
{A,b,3} {a,b,4} {A,C,3})

Und ausgeben soll es folgendes:

Vereinigung der beiden ersten Mengen: {A,b,3,a,4}
Durchschnitt der beiden ersten Mengen: {b}
Vereinigung der drei Mengen: {A,b,3,a,4,C}
Durchschnitt der drei Mengen: {}

Dabei dürfen nur die Methoden der String-Klasse genutzt werden.

Leider fällt mir einfach kein Ansatz an.

Ich habe mir überlegt: Theoretisch müsste man aus der Eingabe 3 Arrays machen und diese dann Zeichen für Zeichen durchgehen und einen neuen Array erschaffen, welcher dann die gewünschten Zeichen enthält. Ist so etwas möglich?

Liebe Grüße
 

Chloroplast

Bekanntes Mitglied
dh. du darfst auch nicht nen long nehmen, und den verschieden zeichen positionen zuweisen? weil dann hättest du einfach von den Bits die schittmenge oä. berechnen können
 

Gucky

Top Contributor
Du ließt die drei Mengen ein.
Dann splittest du sie um das Leerzeichen (" ") mit der .split() Methode.
Daraus müsste dann ein Array mit drei Einträgen entstehen.
Dann entfernst du die geschweiften Klammern mit einer Schleife und der replaceAll() Methode.
Dann splittest du die drei Einträge um die Kommata und die Arrays speicherst du entweder in einem Array oder in drei Arrays.

Dann führst du deine Operationen aus.
 

sindai

Mitglied
Hey, ich bin Porgrammieranfänger und probier mich gerade an der gleichen Aufgabe.
Ich krieg aber schon Probleme mit dem Aufsplitten des übergebenen Strings ...

Java:
public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//String set;
		//String test = args[0].toString();
		
	//	String [] set = test.split(" ");
		
		System.out.println(args[0].split(" ").toString());
	//	System.out.println(set[1]);
	//	System.out.println(set[2]);
		
		
	}

... gibt Fehler aus.
 

Gucky

Top Contributor
Nicht toString. Damit splittest du es und machst es wieder zu einem String. :D
Du müsstest das entstehende Array auch in einem solchen speichern.

Gibt Fehlermeldungen aus ist ein bisschen mager. Damit kann ich nichts anfangen.
Aber du hast einen String namens set und dann machst du noch ein Array namens set. Das haut nicht hin.
 
Zuletzt bearbeitet:

sindai

Mitglied
ok ich machs der Einfachheit halber erstmal mit Strings :D

Java:
public static void main(String[] args) {
		// TODO Auto-generated method stub
		
	String menge1 = "2,1,b,x";
	String menge2 = "b,1,2,3,a";
	String menge3 = "0,1,A,3,a";
	//int m1laenge = menge1.length();
	//int m2laenge = menge2.length();
	//int m3laenge = menge3.length();
	
	
	String [] m1 = menge1.split(" "); 
	String [] m2 = menge2.split(" "); 
	String [] m3 = menge3.split(" "); 
	

	System.out.println(Arrays.toString(m1));
	System.out.println(Arrays.toString(m2));
	System.out.println(Arrays.toString(m3));

	}

Wie genau operier ich jetzt mit den Arrays? Bspw. für die Vereinigigung der beiden ersten Arrays:
A: 2,1,b,x
B: b,1,2,3,a
Menge: 2, a, b, x, 1, 3

Ich dachte an sowas wie (nicht überprüft) um beide Arrays zusammenzufassen:

Code:
for( int i = 0, j = m1laenge; i < m2laenge; i++, j++ )
	{
	    m1[j] = m2[i];
	   // System.out.println(Arrays.toString(m1));
	    
	}

Aber wie identifizier und entferne ich die doppelten zahlen/buchstaben?

Ich möcht wie der Themenstrater Vereinigung & Durchschnitt von zwei und drei Mengen
 
Zuletzt bearbeitet:

sindai

Mitglied
Fehlermeldung:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at CharSet.main(CharSet.java:52)


Was mach ich falsch? (mal davon ab dass mein Ansatz wahrscheinlich auch suboptimal ist oder?)

Java:
import java.util.Arrays;

public class CharSet {

	public static void main(String[] args) {
		
	String menge1 = "2,1,b,x";
	String menge2 = "b,1,2,3,a";
	String menge3 = "0,1,A,3,a";
	int m1laenge = menge1.length();
	int m2laenge = menge2.length();
	int m3laenge = menge3.length();
	
	
	String [] m1 = menge1.split(" "); 
	String [] m2 = menge2.split(" "); 
	String [] m3 = menge3.split(" "); 
	
	String [] vereinigung1 = new String[m1laenge+m2laenge];
	
	
	for (int i = 0; i < m1laenge+m2laenge; i++) {
		vereinigung1[i] = m1[i];
	}
	for (int i = m1laenge, j = 0; i < m1laenge+m2laenge; i++, j++) {
		vereinigung1[i] = m2[j];
	}
	
	System.out.println(Arrays.toString(vereinigung1));
	System.out.println(Arrays.toString(m2));
	System.out.println(Arrays.toString(m3));
	}
	}
 
Zuletzt bearbeitet:

Chloroplast

Bekanntes Mitglied
du gehst in der ersten for-schleife hoch für alle elemente (anzahlElemente1 + anzahlElemente2), auf der rechten weise benutzt du ja aber das array auf der rechten seite, was ja nur azahlElemente1 lang ist. Dann kriegst du natürlich eine ArrayIndexOutOfBounds Exception...
 

sindai

Mitglied
ehm sry das versteh ich net ganz, inwiefern benutze ich das rechte array bzw. ist dessen Länge relevant?

Ich füge doch dem linken array an position [Ende der vorherigen Schleife] die Werte des rechten arrays zu oder ?

@length
Oh ja stimmt ... aber Eclipse sagt mir ich kann auf ein Array (m1) kein .length() anwenden.
 
Zuletzt bearbeitet:

Gucky

Top Contributor
length beginnt die Zählung bei 1, die Indizes bei 0. Letzter Index=length-1.
length ist keine Methode sondern eine Variable, weswegen du die Klammern weglassen musst. ;)
 

Chloroplast

Bekanntes Mitglied
ich meine diesen teil:
Java:
for (int i = 0; i < m1laenge+m2laenge; i++) {
        vereinigung1[i] = m1[i];
    }
solange i kleiner der länge m1 + länge m2 ist wird hochgezählt und das i. element jewels kopiert. so lang ist m1[] aber garnicht
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Gleichzeitiges ersetzen mehrerer Strings Java Basics - Anfänger-Themen 7
R Datentypen Das Verhalten von Strings als Datentypen Java Basics - Anfänger-Themen 7
N Nachkommastellen von Strings Java Basics - Anfänger-Themen 3
T Strings unveränderlich???? Java Basics - Anfänger-Themen 22
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
S Die durchschnittliche Länge der Strings Java Basics - Anfänger-Themen 11
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
D Strings aus Excel-Datei einlesen Java Basics - Anfänger-Themen 2
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
sserio StringBuilder und Strings Java Basics - Anfänger-Themen 8
J Größe eines Strings in Pixel Java Basics - Anfänger-Themen 18
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
N Strings verpflechten Java Basics - Anfänger-Themen 4
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
L Strings aneinanderhängen Java Basics - Anfänger-Themen 2
M Strings vergleichen Java Basics - Anfänger-Themen 10
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
S 2 Strings mit Equals vergleichen Java Basics - Anfänger-Themen 11
Q Besitzen zwei Strings identische Buchstaben, nur in anderer Reihenfolge? Java Basics - Anfänger-Themen 10
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
C Ternärer Operator mit Strings Java Basics - Anfänger-Themen 3
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
P Verketten, Aneinanderreihen von Strings Java Basics - Anfänger-Themen 2
M Strings mit gerader und ungerader Länge ausgeben Java Basics - Anfänger-Themen 10
J Alle Werte eines Strings zusammen addieren Java Basics - Anfänger-Themen 15
W Strings und das parsen Java Basics - Anfänger-Themen 8
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
D Vergleichen von Strings Java Basics - Anfänger-Themen 6
M Konkatenation von zwei Strings Java Basics - Anfänger-Themen 6
J Abbruchbedingung in Schleife/ Untersuchung von Strings Java Basics - Anfänger-Themen 2
S Buchstaben in Großbuchstaben (Strings) Java Basics - Anfänger-Themen 5
X Anagramm mit Strings und Methode Java Basics - Anfänger-Themen 53
P geschachtelte Schleife mit Strings Java Basics - Anfänger-Themen 2
P Strings mit der Axt zerteilen Java Basics - Anfänger-Themen 7
F Alle Zeichenkombinationen eines Strings iterativ herausfinden Java Basics - Anfänger-Themen 26
K Strings hochzählen Java Basics - Anfänger-Themen 20
J Strings untereinander in einer Liste vergleichen Java Basics - Anfänger-Themen 18
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
F Vergleiche mit charAt funktioniert bei Strings nicht, was tun? Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
J Unveränderbarkeit von Strings Java Basics - Anfänger-Themen 3
O Klammerung bei Strings Java Basics - Anfänger-Themen 10
A Liste aus drei Strings erstellen Java Basics - Anfänger-Themen 5
N Zwei Strings mit "==" vergleichen warum TRUE Java Basics - Anfänger-Themen 2
G Teil(e) eines Strings entfernen wenn spezifische Zeichen (< & >) vorkommen Java Basics - Anfänger-Themen 5
D ergebnis.matches("[1-9]?[0-9].[0-9][0-9]?") ein teil eines größeren Strings Java Basics - Anfänger-Themen 12
J Breite eines Strings bestimmen Java Basics - Anfänger-Themen 4
D Zwei Strings sind gleich bei if aber nicht true Java Basics - Anfänger-Themen 2
F JList Elemente mit Strings vergleichen Java Basics - Anfänger-Themen 12
J Strings sind gleich werden aber ungleich ausgewertet Java Basics - Anfänger-Themen 2
N Vergleich von Strings schlägt fehl.. Java Basics - Anfänger-Themen 5
B 4 Strings, Anfangsbuchstaben muss unterschiedlich sein Java Basics - Anfänger-Themen 12
P Strings in String Array schreiben Java Basics - Anfänger-Themen 13
J Input/Output Strings aneinander reihen mit while schleife Java Basics - Anfänger-Themen 25
B mir nur die Gesamtzahl von einzigartigen Strings aus Array ausgeben lassen Java Basics - Anfänger-Themen 5
R Erste Schritte Sicheres einlesen eines Strings Java Basics - Anfänger-Themen 2
F Maximale Länge eines Strings Java Basics - Anfänger-Themen 5
J Best Practice Datum Differenz aus zwei Strings ermitteln Java Basics - Anfänger-Themen 8
Jinnai4 Strings ersetzen Java Basics - Anfänger-Themen 9
R Übergeben eines Array Strings an einen Spinner Java Basics - Anfänger-Themen 4
L Rekursiv zwei Strings vergleichen Java Basics - Anfänger-Themen 3
L Prüfe, ob die im String Array enthaltenen Strings aufsteigend sind. Java Basics - Anfänger-Themen 19
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
DaCrazyJavaExpert Variablen Zahlen aus Strings auslesen Java Basics - Anfänger-Themen 4
C 2 Strings Java Basics - Anfänger-Themen 15
T befehle unterschiedlicher anzahl an strings wiedergeben Java Basics - Anfänger-Themen 2
JavaNewbie2.0 Strings in andere Klassen importieren. Java Basics - Anfänger-Themen 2
D BlueJ Java: Strings voneinander trennen Java Basics - Anfänger-Themen 11
javaerd Wie kann ich Brute Force Methode mit Strings erweitern Java Basics - Anfänger-Themen 1
R Erste Schritte Strings "einrücken" Java Basics - Anfänger-Themen 3
Yamie ArrayList<Object> als Liste von Strings ausgeben? Java Basics - Anfänger-Themen 15
B gemeinsames Vorkommen der charactere von 2 Strings als String zurückgeben Java Basics - Anfänger-Themen 5
R Teilinhalt eines Strings testen Java Basics - Anfänger-Themen 10
H Erste Schritte JTree: Instanzen einer Klasse speichern oder Namen/Strings... Java Basics - Anfänger-Themen 4
L Werte von Strings ? Java Basics - Anfänger-Themen 1
L Strings und Arrays - Expand Java Basics - Anfänger-Themen 12
I Schachbrett aus beliebigen Strings erstellen Java Basics - Anfänger-Themen 3
Syncopated Pandemonium Verketten von Strings funktioniert nicht Java Basics - Anfänger-Themen 4
F Wahrscheinlichkeit von Strings Java Basics - Anfänger-Themen 3
MiMa Splitten eines Strings Java Basics - Anfänger-Themen 5
T Hashfunktion für Strings Java Basics - Anfänger-Themen 3
C Zeilenumbruch für langes Strings Java Basics - Anfänger-Themen 2
J Variablen Strings mit Zeilenumbrüchen in neues Array Element Java Basics - Anfänger-Themen 1
T Datentypen compareTo() u. equals() bei Strings Java Basics - Anfänger-Themen 3
H Strings vergleichen & sortieren Java Basics - Anfänger-Themen 20
H Erste Schritte Längstes Wort eines Strings herausfinden Java Basics - Anfänger-Themen 7
D Problem beim umwandeln eines Strings in eine Dzezimalzahl Java Basics - Anfänger-Themen 6
G Strings mit Scanner (nextLine) einlesen Java Basics - Anfänger-Themen 7
T Strings ersetzen mit \ Java Basics - Anfänger-Themen 10
K Strings bearbeiten Java Basics - Anfänger-Themen 14
N Bestimmte Zeichen eines Strings umwandeln Java Basics - Anfänger-Themen 4
L Java Strings Buchstaben vertauschen Java Basics - Anfänger-Themen 4
L Strings in einem JOptionPane farbig Java Basics - Anfänger-Themen 2
A Wie bekomme ich zwei Strings in eine ArrayList Java Basics - Anfänger-Themen 4
C Chars eines Strings mit for schleife rückwärts auslesen Java Basics - Anfänger-Themen 8
J Buchstabe (char) an zufällige Position eines Strings einfügen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben