Array: Doppelte Charakteren löschen - Ein Lösungsversuch

Status
Nicht offen für weitere Antworten.

timriddance

Mitglied
Hallo zusammen,

Ich habe folgende Aufgabe: Erstelle eine Methode, die ein char[] nimmt, doppelte Werte erkennt und ein anderes char[] zurückliefert, dass nur aus eindeutigen Werten besteht. Es dürfen keine zusätzlichen Klassen oder Techniken wie Generics benutzt werden.

Ich habe die Methode folgendermassen implementiert, ich hoffe, man kann den Kommentaren einigermassen folgen:

Java:
/**
	 * Removes duplicate characters from an array of characters. 
	 * The resulting array will consist of unique values only.
	 * @param in
	 * @return
	 */
	public static char[] removeDuplicates(char[] in){
		char[] out;
		boolean[] isDouble = new boolean[in.length];
		int counter = in.length;
		
		// iterate through in, set isDouble true for duplicate values
		for (int i = 0; i < in.length; i++) {
			if(!isDouble[i]){
				for (int j = i + 1; j < in.length; j++) {
					if(!isDouble[j]){
						if(in[i] == in[j]){
							isDouble[j] = true;
							counter--;
						} 
					}
				}
			}
		}
		// assertion: for every duplicate value in[k], isDouble[k] = true
		// assertion: counter equals the size of the array with only unique values
		
		// compute out[]
		out = new char[counter];

		boolean[] temp = new boolean[in.length];
		
		// since out and in won't have the same size, only add unique values from in to out
		for (int i = 0; i < out.length; i++) {
			int j = i;
			boolean breakThis = false;
			while(j < in.length && !breakThis){
				if(!isDouble[j] && !temp[j]){
					out[i] = in[j];
					breakThis = true;  // breaks the while loop, so that out[i] is not overwritten by 
									   // following unique in[j]
					temp[j] = true;	   // if true, assignment is skipped even when in[j] is a unique value;
									   // this avoids that one unique value is assigned to both out[i] and out[i+1]
				}
				j++;
			}
		}
		return out;
	}


Der Algorithmus funktioniert. Übergebe ich z.B. {'h','a','l','l','o'}, erhalte ich {'h','a','l','o'}.

Nun, ich werde das Gefühl nicht los, dass der Algorithmus a) unschön / unlesbar ist und b) ineffizient. In der zweiten For-Schleife im unteren Teil kam ich nicht umhin, ein weiteres Array boolean[] temp zu verwenden. Zuerst wollte ich es ohne dies tun, aber mir kam einfach nicht in den Sinn, wie ich verhindern konnte, dass wenn z.B.

in = {'h','a','l','l','o'}
und somit
isDouble = {false, false, false, true, false}
ist,
das resultiertende Array out = {'h','a','l','l'} war, weil jedesmal i = j gesetzt wird.

Wer jetzt noch weiss, um was es geht - hut ab! :)
Ausserdem wird z.B. die 1. Schleife, falls sich der erste wert von allen nachfolgenden unterscheidet, mindestens n*n ausgeführt, und im schlechtesten fall noch viel mehr. (n = in.length)

Ich bin noch nicht so erfahren mit effizientem, schönen Programmieren und hoffe ihr könnt mir helfen.

Lieber Gruss
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Hmmm...
Dann werd' ich mal den Finduh kalifaken...;)
Aber was ich nicht verstehe ist, wieso versuchst du es nicht mal so?
Java:
public static char[] removeDuplicates(char fromChars) {
  StringBuilder tmp = new StringBuilder(String.valueOf(fromChars));
  for(int i = 0; i < tmp.length() - 1; i++) {
    for(int j = i + 1; j < tmp.length(); j++ {
      if(tmp.charAt(i) == tmp.charAt(j)) {
        tmp.deleteCharAt(j);
        --j;
      }
    }
  }
  return tmp.toString().toCharArray();
}
 
Zuletzt bearbeitet von einem Moderator:
M

maki

Gast
Hmmm...
Dann werd' ich mal den Finduh kalifaken...;)
Aber was ich nicht verstehe ist, wieso versuchst du es nicht mal so?
Java:
public static char[] removeDuplicates(char fromChars) {
  StringBuilder tmp = new StringBuilder(String.valueOf(fromChars));
  for(int i = 0; i < tmp.length() - 1; i++) {
    if(tmp.charAt(i) == tmp.charAt(i + 1)) {
      tmp.deleteCharAt(i + 1);
    }
  }
  return tmp.toString().toCharArray();
}
Was wäre dann mit
Java:
{'h','a','l','o','l'}
?
 

timriddance

Mitglied
Nichts gegen deine Antwort, danke dir auch dafür, aber Ziel dieser Aufgabe ist es wirklich, allein mittels primitiver Datentypen zu programmieren.
 
S

Spacerat

Gast
Na was solls...
Der Ansatz mit den geschachtelten Schleifen steht jedenfalls:
Java:
public static char[] removeDuplicates(char[] fromChars) {
  for(int i = 0; i < fromChars.length - 1; i++) {
    for(int j = i + 1; j < fromChars.length; j++ {
      if(fromChars[i] == fromChars[j]) {
        fromChars = moveOneUp(fromChars, j);
        --j;
      }
    }
  }
  return fromChars;
}
dazu kommt dann noch eine weitere Methode:
Java:
private static char[] moveOneUp(char[] fromChars, int index) {
  char[] rc = new char[fromChars.length - 1];
  for(int i = 0, j = i; i < fromChars.length - 1; i++, j++) {
    if(j == index) {
      ++j;
    }
    rc[i] = fromChars[j];
  }
  return rc;
}
Genehm so?
@Edit: Wenn man es noch Speicher sparend und GC freundlich haben will:
Java:
public static char[] removeDoubles(char[] fromChars) {
  fromChars = fromChars.clone();
  int k = fromChars.length;
  for(int i = 0; i < k - 1; i++) {
    for(int j = i + 1; j < k; j++) {
      if(fromChars[i] == fromChars[j]) {
        moveOneUp(fromChars, j);
        --j;
        --k;
      }
    }
  }
  char[] rc = new char[k];
  for(int i = 0; i < k; i++) {
    rc[i] = fromChars[i];
  }
  return rc;
}

private static void moveOneUp(char[] fromChars, int index) {
  for(int i = 0, j = i; i < fromChars.length - 1; i++, j++) {
    if(j == index) {
      ++j;
    }
    fromChars[i] = fromChars[j];
  }
}
Im Gegensatz zum Vorhergehenden, werden hier nicht mehr als nur zwei Arrays neu erstellt.
 
Zuletzt bearbeitet von einem Moderator:

faetzminator

Gesperrter Benutzer
Wenn man nun zusätzliche Klassen verwenden würde, bringe ich einen Einzeiler hin, wenn auch leider nur ohne prmitiven Typen:
Java:
public static Character[] doIt(Character[] inp) {
	return new HashSet<Character>(Arrays.asList(inp)).toArray(new Character[0]);
}
 

Landei

Top Contributor
Java:
    private static char[] removeDuplicates(char[] array) {
        char[] copy = new char[array.length];
        for(int i = 0; i < array.length; i++) {
            copy[i] = array[i];
        }
        for(int j = array.length-1; j >= 1; j--) {
            for(int i = 0; i < j; i++) {
                if(copy[i] > copy[i+1]) {
                    char temp = copy[i];
                    copy[i] = copy[i+1];
                    copy[i+1] = temp;
                }
            }
        }
        int k = array.length;
        for(int i = 1; i < k; i++) {
           while(copy[i] == copy[i-1]) {
               for(int j = i; j < k-1; j++) {
                   copy[j] = copy[j+1];
               }
               k--;
           }
        }
        char[] result = new char[k];
        for(int i = 0; i < k; i++) {
            result[i] = copy[i];
        }
        return result;
    }
 

Landei

Top Contributor
Eigentlich nicht:
- Array kopieren (damit das Original-Array erhalten bleibt)
- Kopie sortieren (Bubble Sort)
- bei allen Duplikaten von hinten her nachrücken, dabei Länge mitberechnen
- in ein entsprechend kürzeres Array kopieren

Wären Hilfsfunktionen wie Arrays.sort oder arrayCopy erlaubt, wäre das Ganze nicht mal halb so lang
 
S

Spacerat

Gast
@Landei: Und ich dachte schon, ich hätte übertrieben... BTW, wieso sortierst du das Array? War doch nicht Teil der Aufgabe?
@TS: Sollte an meinen Vorschlägen noch was am [c]clone()[/c] ausgesetzt werden, setze dafür einfach Landei's Zeilen ein, in denen er das Array kopiert. Kommt aufs selbe raus.
 

timriddance

Mitglied
Eure Vorschläge sind sicher auch eine gute Möglichkeit, das Problem zu lösen. Mich würde aber auch noch interessieren, ob ihr etwas an meinem zu kritisieren habt. Lesbarkeit (mal angenommen ich hätte keine Kommentare gesetzt), Effizienz?
 

ttplayer

Aktives Mitglied
Sorry, dass ich dich auch noch mit meinem Vorschlag zumülle, aber ich musste ihn auch noch loswerden:D
Java:
public static char[] removeDuplicates(char[] in)
	{
        int length = 0;
    	boolean[] used = new boolean[256];
        for (int counter = 0; counter < in.length;counter++)
        {        	
        	if (used[(int)in[counter]]) in[counter] = ' ';	//wenn der Character schon mal benutzt wurde
        	else
        	{
        		length++;
        		used[(int)in[counter]] = true;	//bei used wird im Feld, das dem Ascii-Code des chars entspricht, true eingetragen
        	}
        }
        char[] out = new char[length];
        int outcounter = 0;
        for (char inchar : in)
        {
        	if (inchar != ' ') 
        	{
        		out[outcounter] = inchar;
        		outcounter++;
        	}
        }
        return out;
    }
 
Zuletzt bearbeitet:
S

Spacerat

Gast
...aber ich kann nur Code lesen, den ich selbst geschrieben hab;)
Den Umstand musst du ändern! Solche Aussagen tragen nachteilig zur Einschätzung deiner Programmiererfahrung bei.
kann aber gut sein, dass mein Code ein bisschen langsam ist...
Und hier erkennt man den Erfahrungs-Level... Die Selbsteinschätzung scheitert...
Ach: Soll das Ganze nur mit Kleinbuchstaben funktionieren oder auch mit Großen?
Erfahrene sehen sofort: Es soll mit Characktern jeglicher Art funktionieren.;)
@ttplayer: Nicht das ich dich mit diesem Flamen will... sind nur gut gemeinte Tipps. Wenn ich mir deinen Code so ansehe, fürchte ich, dass das Array irgendwann leer wird, weil [c]' '[/c] immer wieder als doppelter Charakter fesgestellt wird. Der Code dürfte deswegen nicht nur recht ineffizient sein, sondern er würde nicht mal funktionieren.
@TS: Hätte man an deinem Code nichts auszusetzen gehabt, hätte man dir keinen effizienteren geben müssen. Das bedeutet also: Ja, da ist etwas dran auszusetzen. Allerdings nicht an der Lesbarkeit, die ist in Ordnung. Schon allein die Tatsachen, dass du erstens ein boolean für jeden Charakter erstellst ([c]isDouble[]-Array[/c] sowie deine eigene Aussage über die Ausführung der Schleife ([c]n*n[/c]) lassen vermuten, das es was schnelleres gibt. Ist man auf Primitivtypen beschränkt, dürfte meine Speicher sparende, GC freundliche Implementation die effizienteste sein. Ist man es nicht, sei auf faetzminator's Einzeiler verwiesen (mit 'ner geringen Änderung: [c]new Character[inp.length][/c]).
 

ttplayer

Aktives Mitglied
OK ich habs verbessert... und der Fehler war nicht der, dass er doppelte ' ' erkannt hätte, weil das Array wird erst geändert, nachdem er gesucht hat... der Fehler war, dass ich length falsch verwendet hab.
 
Zuletzt bearbeitet:

timriddance

Mitglied
Ok, danke. Das mit dem boolean array war ein Hint aus dem Lehrbuch, aus dem ich die Aufgabe habe. Aber ihr habt mir ja gezeigt, wies ohne ginge.
Was heisst denn eigentlich GC-freundlich?
 
S

Spacerat

Gast
@eRaaaa: Genau.
GC freundlich ist, wenn man instanzierte und nicht mehr verwendete Objekte wiederverwendet, statt eine neu zu instanzieren und die alte Instanz dem GC überlässt. Das geht mit allen Objekten, die nicht Immutable sind.
 

timriddance

Mitglied
Ok, ich weiss zumindest was Immutable ist. Garbage Collection habe ich auch schon gehört, besonders in Bezug zu PHP5 OOP. Bei PHP ist es doch so, dass Objekte in den Kübel kommen, sobald das Skript zu Ende kompiliert/übersetzt wurde. Wie siehts bei Java aus?
 
S

Spacerat

Gast
Der GC ist solange die Runtime (JRE) läuft aktiv (in Java und afaik in PHP auch). Er durchsucht hin und wieder den für die Runtime zugewiesenen Speicher nach nicht mehr verwendeten Referenzen, also nach Referenzen die zu keinem Eintrag in der Variablentabelle passen. Hin und wieder bedeutet dabei, abhängig von der Belegung des Speichers in gewissen Zeitabständen, auf jeden Fall aber bevor ein OutOfMemoryError (oder wars 'ne RT-Exception?) geworfen wird. GC freundlich programmiert man, wenn man in Schleifen wann immer es geht Objekte "recycled" statt neu instanziert. Merke: Nicht mehr verwendete Referenzen belegen weiterhin Speicher und zwar solange, bis der GC merkt, das sie nicht mehr verwendet werden und deren Speicher freigeben kann.
 

hdi

Top Contributor
Der GC läuft immer mal wieder über den Heap sowie andere Speicher-Bereiche wie z.B. den String Constant Pool. Dabei wird jedes Objekt zerstört (Der Speicher wird freigegeben), das nicht mehr referenziert wird. Sprich das vom Quellcode nicht mehr angesprochen werden kann.

Bsp:

Java:
SomeObject o = new SomeObject(); // o = 0xA4F13 (zB)
o = new SomeObject(); // o = 0xD91C

Das erste Objekt wird nun nicht mehr referenziert, d.h. es gibt keine Variable deren Wert die Speicheradresse dieses Objektes ist. (o wurde überschrieben).
Und somit wirst du das Objekt auch sicherlich nicht mehr verwenden (können), also wird es der GC demnächst zerstören.
 

hdi

Top Contributor
Ähhh... :oops:
Also vllt meinen wir das gleiche, vllt brauch ich auch Nachhilfe. Also Bytecode ist ja eigentlich das gleiche wie Quellcode, nur eben nicht in Java sondern in 1ern und 0ern, oder? Ich hab das bisher so verstanden: Sobald ich innerhalb des Quellcodes keinen Namen mehr habe, mit dem ich die Adresse ansprechen kann, gibt es im entsprechenden Bytecode diesen "Namen" auch nicht mehr, oder halt wie auch immer die Daten dort dargestellt sind. Ist das nicht so?
Was wäre dann zB ein Fall von einem Objekt, das im Bytecode referenziert ist, wofür ich aber im Quellcode keine Variable habe :bahnhof:
Verwalten die ganzen Dinge wie Lists und Arrays intern nicht auch einfach nur eine Menge an Variablen, in denen die einzelnen Referenzen liegen?

edit: Wäre ein Bsp dafür anonyme Klassen, oder?
 
Zuletzt bearbeitet:
G

Gast2

Gast
Wäre ein Bsp dafür anonyme Klassen, oder?
nein ... ein Byte-Code ist wie Assembler ... nur das Byte-Code von einer virtuellen CPU ausgeführt wird ... Assembler eben von einer richtigen ... der Vorteil liegt in den einfacheren parsen der Befehle - da Du richtig auf Bit-Ebene parsen kannst ... wobei das unter Java noch direkt in nativ übersetzt wird von dem ausführen
 
S

Spacerat

Gast
@hdi: Letztendlich reden wir vom gleichen. Aber erinnerst du dich noch an meine "geile" Erklärung? Die RT weiss nichts von unserem Quelltext, weil dieser vorher kompiliert wurde. Ottomormal-Entwickler weiss auch nicht, wie sein Quelltext in Bytecode aussieht. Möglicherweise will er das auch gar nicht wissen. Fakt ist aber, dass Quellcode sowie Bytecode die selben Dinge beschreiben. Einmal verständlich für den Entwickler, das andere mal verständlich für die RT. Aber wie gesagt: Ich bin eigentlich kein Erbsenzähler und denke, das dir Umstand bewusst ist, das man Quelltext vor der Ausführung in einer RT (Mom... das müsste dann ja auch RTE also RuntimeEnvironment bzw. Laufzeitumgebung heissen ;)) in Byte- bzw. Binärcode übersetzt werden muss.
 

Landei

Top Contributor
Fakt ist aber, dass Quellcode sowie Bytecode die selben Dinge beschreiben. Einmal verständlich für den Entwickler, das andere mal verständlich für die RT.

Einspruch, euer Ehren! Es gibt da nämlich eine wichtige Assymetrie: Jeder korrekte Quellcode kann in korrekten Bytecode umgewandelt werden, aber nicht jeder korrekte Bytecode in einen Quellcode. Oder anders ausgedrückt: java.exe lässt mehr "durchgehen" als javac.exe. Das ist nicht nur akademische Spielerei, ohne diese Eigenschaft ließen sich Bytecode-Enhancer und Nicht-Java-JVM-Sprachen nur noch sehr eingeschränkt (sprich: nicht mehr sinnvoll) implementieren.
 
S

Spacerat

Gast
Nicht stattgegeben: Dem Quelltext kann es egal sein, durch welchen Kompiler er zu welchem Bytecode wird und dem Bytecode durch welchen Recompiler zu welchem Quelltext. Theoretisch jedenfalls. Es wäre ja auch was, wenn mir ein Kompiler nicht genau die Klasse erstellt, die das tut was in meinem Quelltext steht, oder ein Recompiler mir nicht den Bytecode so wiedergeben würde, wie er aufgebaut ist. Die "akademische Spielerei" ist dann gegeben, wenn sich jemand einen Kompiler oder Recompiler entwickelt, der nichts weiter tut als Quelltext in einer ihm verständlichen Form in Bytecode einer anderen Umgebung oder umgekehrt übersetzt, ohne irgendwelche hilfreiche Erweiterungen zu implementieren. Z.B. Java-Bytecode in PHP-Quelltext (zwar utopisch, aber mir fällt dazu kein konkretes Beispiel ein) oder etwas völlig Neuem (z.B. Scala). Erst wenn sich dann aus Neuem irgendwann mal ein Sprachstandard entwickelt, wars das mit der "Spielerei". Das Neue ist plötzlich ernst zu nehmen. So geschehen bei Scala? BTW.: Scala für DotNet Schon gehört? Nu' wird's interessant.
 

Landei

Top Contributor
Nicht stattgegeben: Dem Quelltext kann es egal sein, durch welchen Kompiler er zu welchem Bytecode wird und dem Bytecode durch welchen Recompiler zu welchem Quelltext. Theoretisch jedenfalls. Es wäre ja auch was, wenn mir ein Kompiler nicht genau die Klasse erstellt, die das tut was in meinem Quelltext steht, oder ein Recompiler mir nicht den Bytecode so wiedergeben würde, wie er aufgebaut ist. Die "akademische Spielerei" ist dann gegeben, wenn sich jemand einen Kompiler oder Recompiler entwickelt, der nichts weiter tut als Quelltext in einer ihm verständlichen Form in Bytecode einer anderen Umgebung oder umgekehrt übersetzt, ohne irgendwelche hilfreiche Erweiterungen zu implementieren. Z.B. Java-Bytecode in PHP-Quelltext (zwar utopisch, aber mir fällt dazu kein konkretes Beispiel ein) oder etwas völlig Neuem (z.B. Scala). Erst wenn sich dann aus Neuem irgendwann mal ein Sprachstandard entwickelt, wars das mit der "Spielerei". Das Neue ist plötzlich ernst zu nehmen. So geschehen bei Scala? BTW.: Scala für DotNet Schon gehört? Nu' wird's interessant.

Ich glaube, wir reden aneinander vorbei. Bytecode ist selbst eine Sprache, und Bytecode erlaubt mehr als Java erlaubt. Punkt. Andere Sprachen und Bytecode-Tools können das ausnutzen.

Scala hat meines Wissens schon vom Urschleim an .Net Unterstützung, sie war halt nur nicht immer auf dem aktuellen Stand. Die Bemühungen scheinen in letzter Zeit intensiviert zu werden (gerüchteweise munkelt man von einem hochmotivierenden Scheck von M$ ans EPFL) Coderspiel / October 2009 (ganz rechts)
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Ich glaube, wir reden aneinander vorbei.
Das glaub' ich auch.
Bytecode ist selbst eine Sprache...
Ahso... und wie sieht die als Quell- bzw. Klartext aus? Kann überhaupt irgendwer lesen, schreiben oder gar sprechen (das Vorlesen irgendwelcher Bytewerte mal ausgenommen), was sich hinter Bytecode verbirgt, ausser ein Interpreter bzw. De- oder JIT-Compiler? Die Tatsache, das sich hinter ein und demselben Bytecode verschiedene Sprachen verbergen können macht es längst nicht selbst zu einer. Um mogel's Worte mal in meine zu fassen: Bytecode ist eine Art Maschinencode, welcher, statt von einer CPU, von einem Interpreter oder JIT-Compiler ausgeführt wird. Aber nochmal: Das ist Erbsenzählerei. Deswegen hatte ich mogel's Satz ja auch eigentlich so stehen lassen.
 

Landei

Top Contributor
Selbstverständlich kann das jemand als Assemblerversion mit entsprechenden Op-Codes "sprechen". Wie soll man sonst solche Sachen wie javassist oder FindBugs schreiben? Natürlich würde man damit keine "normalen" Applikationen basteln, aber Hexenwerk ist das bestimmt nicht (siehe z.B. Java bytecode: oder Jamaica, the JVM Macro Assembler)
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Selbstverständlich kann das jemand als Assemblerversion mit entsprechenden Op-Codes "sprechen".
Da wiederspreche ich auch gar nicht. Was genau heisst nun Assemblerversion[/c]? Assembler ist 'ne Sprache, Maschinencode nicht. Im Bytecode steht nicht [c]JMP $2345[/c] sondern [c]4C 45 23[/c] (am Beispiel einer 6510 CPU).
 

Landei

Top Contributor
Ich meine sowas:
Code:
aload_0
invokespecial #3 <Method java.lang.Object()>
aload_0
aload_1
putfield #5 <Field java.lang.String name>
aload_0
iload_2
 
S

Spacerat

Gast
Ich meine sowas:
Code:
aload_0
invokespecial #3 <Method java.lang.Object()>
aload_0
aload_1
putfield #5 <Field java.lang.String name>
aload_0
iload_2
Das hab' ich mir gedacht (bzw. das war mir klar). Und? Sieht der Bytecode so aus? Oder ist das nun eine mehr oder weniger verständlichere Interpretation von jenem?
 

Landei

Top Contributor
Das hab' ich mir gedacht (bzw. das war mir klar). Und? Sieht der Bytecode so aus? Oder ist das nun eine mehr oder weniger verständlichere Interpretation von jenem?

Der Unterschied ist nun wirklich marginal. Wenn man das aus dem FF kann, kann man sich theoretisch auch noch die Bytewerte reinkloppen - aber warum sollte man das tun?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
D Doppelte For Schleife / Array Java Basics - Anfänger-Themen 3
kilopack15 Array auf doppelte Elemente überprüfen Java Basics - Anfänger-Themen 16
J Variablen Doppelte Werte in Int Array Java Basics - Anfänger-Themen 10
E Array doppelte Einträge Java Basics - Anfänger-Themen 2
S Variablen Array in ArrayList auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 4
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
S Array befüllen & auf doppelte werte prüfen Java Basics - Anfänger-Themen 6
C Doppelte Einträge aus String [] Array entfernen. Java Basics - Anfänger-Themen 5
P doppelte Werte im Array ausgeben. Java Basics - Anfänger-Themen 4
J doppelte Einträge in einem Array Java Basics - Anfänger-Themen 7
M Aufgabe: Array auf doppelte Zahl prüfen Java Basics - Anfänger-Themen 8
-horn- Doppelte Einträge entfernen, aus Array, List oder sonstwas Java Basics - Anfänger-Themen 9
G _NUR_ doppelte Einträge in einem Array behalten Java Basics - Anfänger-Themen 3
J Doppelte Integer aus einem Array entfernen - seltsames Prob. Java Basics - Anfänger-Themen 5
G doppelte Einträge im String Array löschen Java Basics - Anfänger-Themen 21
S Methode, um doppelte Einträge in Array zu finden Java Basics - Anfänger-Themen 5
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
L Frage zum Array Java Basics - Anfänger-Themen 1
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3
julian0507 Array aus Methode in anderer Methode sichtbar machen Java Basics - Anfänger-Themen 10
P Array vom Typ Klasse Java Basics - Anfänger-Themen 18
Lion.King Array deklarieren und initialisieren Java Basics - Anfänger-Themen 5
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
M Methoden Zweidimensionaler Array mit Setter Methode ändern Java Basics - Anfänger-Themen 4
AkiJou Zeile in 2d Array löschen Java Basics - Anfänger-Themen 2
LilliCherry Array in einer Zeile ausgeben Java Basics - Anfänger-Themen 6
A Elemente in einem Array Java Basics - Anfänger-Themen 5
A Vorkommende Farben ermittel und als Array zurückgeben Java Basics - Anfänger-Themen 7
AhmadSlack Array Java Basics - Anfänger-Themen 7
Jambolo Kartenhand Array Java Basics - Anfänger-Themen 14
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben