Substring finden |
05.01.2015, 04:24 | Auf diesen Beitrag antworten » | |||||
neuling96 | Substring finden hi, aufgabe a habe ich bereits und b bin ich mir nicht sicher
|
|||||
|
||||||
05.01.2015, 07:46 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Wozu brauchst du da ein Array aus Strings? Außerdem lässt sich das nicht mal kompilieren. Das Erstellen aller substrings bekommst du so hin: lege eine Startposition fest (ein einer Schleife, da für jeden Startindex substrings gebildet werden können). Lege in einer zweiten Schleife die Endposition fest. Für einen String der Länge n ergeben sich so Teilstrings
|
|||||
05.01.2015, 08:32 | Auf diesen Beitrag antworten » | |||||
neuling96 | Danke! ich dachte ganzezeit dass ich ein array vom typ string habe gut, zum beispiel kannte ich den befehl noch gar nicht param.substring(start, end); da muss ich mich noch einarbeiten eins noch , mal angenommen wir hätten ein String []param vorliegen, ginge das dieser code?
|
|||||
05.01.2015, 08:59 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Das lässt sich nicht kompilieren. Zeile 4 z.B. müsste heißen String substring= param[i]; bei y erkenne ich die Absicht nicht, die dahintersteckt. wenn du für jeden einzelnen String im Array testen willst, ob er ein Palyndrom ist:
|
|||||
Anzeige | ||||||
|
||||||
05.01.2015, 09:08 | Auf diesen Beitrag antworten » | |||||
neuling96 | bevor wir weitermachen eine wichtige frage kann man ein string array folgendermaßen darstellen ? String []param={a,b,c } |
|||||
05.01.2015, 09:14 | Auf diesen Beitrag antworten » | |||||
neuling96 | String [] substring= new String [i]; for(int y=0; y<=i;y++){ substring[y]=param[y]; damit wollte ich zum beispiel für den fall i=1 und String []param={a,b,c } ein string sub array konstruieren, sodass substring[0]=param[0]; substring[1]=param[2]; d.h substring[0]=a; substring[1]=b; substring={a,b} und den anschließend auf Palindrom testen |
|||||
05.01.2015, 09:48 | Auf diesen Beitrag antworten » | |||||
neuling96 | isPalindrome soll überprüfen setze soll einen subarray lieferen zum bsp a= {1,2,3,4} für den fall i= 2 substring = {1,2} dann mit printPalindromicStrings der test für den sub array.
|
|||||
05.01.2015, 10:44 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Um ein String[] zu erzeugen, musst du Strings übergeben. Also nicht a= {1,2,3,4}, sondern a= new String[] {"1","2","3","4"} Wenn du prüfen willst, ob 2 Strigns gleich sind, geht das mit myString.equals(otherString); for(int y=0; y<i-1;y++) entweder y < i oder y <= i-1, sonst nimmst du einen Eintrag zu wenig mit. bei der Ausgabe der Palindrome ist mir nicht klar, warum du bei 2 anfängst und nicht bei 0.
dann sollte man die Funktion vielleicht auch liefereSubarray nennen. Noch schlimmer sind nur die Funktionen, die ein liefere/get im Namen haben und dann anfangen, Werte zu überschreiben - damit rechnet doch keiner. |
|||||
05.01.2015, 10:49 | Auf diesen Beitrag antworten » | |||||
neuling96 | bis auf deine Anmerkungen stimmt der code? also macht was er soll? |
|||||
05.01.2015, 10:57 | Auf diesen Beitrag antworten » | |||||
neuling96 | ich kenne den befehl myString.equals(otherString) noch nicht, deshalb der umweg |
|||||
05.01.2015, 11:06 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Die Frage ist eben, was genau du vorhast. Wenn du die Aufgabe lösen willst, bist du ganz falsch. Dafür habe ich ja bereits eine Lösung geliefert. Was du machst, ist zu prüfen, ob ein String-Array ein Palindrom ist, also z.B. {"a", "b", "a"} if (param[i]!=param[param.length-1-i]) geht so eben nicht. Wenn du zweimal einen String mit dem selben Inhalt erstellst, sind es immer noch zwei Strings. == prüft die Adresse im Speicher und liefert dann false. Im Sinne der Aufgabe bräuchtest du kein String[], sondern ein char[] |
|||||
05.01.2015, 11:15 | Auf diesen Beitrag antworten » | |||||
neuling96 |
d.h wenn ich einen char [] hätte müsste ich auf meine art lösen und bei string auf deine art? |
|||||
05.01.2015, 11:18 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Ja. Du kannst den String aber auch in ein char[] umwandeln. |
|||||
05.01.2015, 11:32 | Auf diesen Beitrag antworten » | |||||
neuling96 |
1)String ist ein Objekttyp, darum die Schwierigkeit, korrekt? ( für primitivetypen wie int, double) wäre alles ok? 2) Wie wandelt man bzw. wann darf man umwandeln? 3)Wie würde ich hier die main schreiben, umzurpüfen, dass der code das tut, was er soll. |
|||||
05.01.2015, 12:07 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | 1) ja 2) z.B. "lotto".toCharArray(); 3)
|
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |