Allo ich möchte, ohne den Befehl startsWith, einen String auf Gleichheit
überprüfen. Mir fällt hier der equals Befehl ein.
z.b
String Zk = "abcdef";
if(Zk.equals("ghi")){...;}
so könnte ich allgemein, gucken ob Zk = ghi ist. Nur jetzt möchte ich
nur die ersten 3 Elemente von Zk auf Gleichheit prüfen. Weiß jemand wie
das gehen könnte?
D. I. schrieb:> Tom schrieb:>> Weiß jemand wie>> das gehen könnte?>> Ja wissen die meisten hier. Nur dass wir hier nicht deine Hausaufgaben> machen.
Danke für deinen Kommentar!
Könnte es so gehen?
String[] Zkneu = new String[3];
for(int i=0;i<3;i++){
Zkneu[i] = Zk[i];}
if(Zkneu.equals("ghi")){...;}
@MaWin , den Befehl kenne ich nicht und ich möchte auch mit equals
arbeiten.
Tom schrieb:> Könnte es so gehen?>> String[] Zkneu = new String[3];> for(int i=0;i<3;i++){> Zkneu[i] = Zk[i];}>> if(Zkneu.equals("ghi")){...;}
Probiers aus, jags durch den compiler und führs aus und schau was es
tut, wir sind hier nicht in der Chemie.
Jedenfalls die grundlegende Idee ist korrekt ;)
D. I. schrieb:> Tom schrieb:>> Könnte es so gehen?>>>> String[] Zkneu = new String[3];>> for(int i=0;i<3;i++){>> Zkneu[i] = Zk[i];}>>>> if(Zkneu.equals("ghi")){...;}>> Probiers aus, jags durch den compiler und führs aus und schau was es> tut, wir sind hier nicht in der Chemie.>> Jedenfalls die grundlegende Idee ist korrekt ;)
Der Compiler sagt: array required, but java.lang.String found
Tom schrieb:> Der Compiler sagt: array required, but java.lang.String found
Und weiter? Verstehe diese Meldung, beseitige die Ursache und dann gehts
weiter. Nur so lernt man programmieren.
Peter II schrieb:> es gibt doch wohl ein substring in java>> if(Zk.Substring(0,3).equals("ghi")){...;}
Ja gibt es wohl, allerdings substring klein geschrieben.
> String[] Zkneu = new String[3];
Was so den der Käse?
Mach dich mal über Datentypen schlau. Vor allem, welcher Unterschied
zwischen einem Character Array und einem String Array besteht. Und deren
Vergleichsmöglichkeit.
Es gibt so schöne Bücher. Aber niemand liest diese. heul
Stefan Giebler schrieb:> troll schrieb:>> Vielleicht solltest du mal verraten um welche Sprache es geht...>> das sieht ein Blinder mit Krückstock ... c#
oder auch nicht..
Mensch, das ist doch in Java ganz einfach... man kann einfach die Tools
nehmen, die für sowas optimal geeignet sind.
Runtime.getRuntime().exec(new String[]{"perl","-e" .....
:)
Jonas Biensack schrieb:> Alter, mach deine Hausaufgaben selber. Da musste jeder von uns durch und> abschreiben bringt gar nichts.>> Gruß Jonas
Wo ist dein Problem? Braust ihr nicht zu antworten!
Für alle, die es interessiert ich habe es hinbekommen mir hat charAt()
geholfen.
wird daher niemals true werden.
unter http://docs.oracle.com/javase/6/docs/api/java/lang/String.html
findest du zwei methoden, die genau das von dir gewünschte verhalten
produzieren (tipp: es kommt das englische wort für "vergleichen" darin
vor)
edith sagt:
wer nicht bis zum ende liest ist selber schuld
kein Schwätzer schrieb:> Für alle, die es interessiert ich habe es hinbekommen mir hat charAt()> geholfen.
in dem fall hats vielleicht funktioniert, ist aber nicht unbedingt das
mittel der wahl, da charAt nur genau eine position liefert (und du damit
pro verglichener stelle eine abfrage brauchst).
Daniel F. schrieb:> equals vergleicht die objekte auf
gleichheitif(Zk.Substring(0,3).equals("ghi")){...;}
> wird daher niemals true werden.
das lese ich aber was anderes aus der doku
public boolean equals(Object anObject)
Compares this string to the specified object. The result is true if
and only if the argument is not null and is a String object that
represents the same sequence of characters as this object.
> equals vergleicht die objekte auf gleichheit> wird daher niemals true werden.
Du solltest eine Dokumentation auch lesen, bevor du auf diese verweist.
> Die Methode equals()> Die Klasse String überschreibt die aus der Klasse Object geerbte Methode
equals(), um > > zwei Strings vergleichen zu können. Die Methode gibt true zurück,
falls die Strings gleich > lang sind und Zeichen für Zeichen übereinstimmen.
kein Schwätzer schrieb:> Für alle, die es interessiert ich habe es hinbekommen mir hat charAt()> geholfen.
Das klingt nach keiner guten Lösung.
Hast du ALLE Sonderfälle berücksicht? Auch die in denen dein String zb
kürzer als 3 Zeichen ist?
Daniel F. schrieb:> equals vergleicht die objekte auf gleichheit
Ja und Nein, equals Vergleicht, das zwei Objektreferenzen nach Ansicht
des Objekterstellers gleichen, so wie sich zwei Eier gleichen aber doch
nicht die selben sind.
Ob es das selbe Objekt ist vergleicht man mit ==
Und wie schon korrekt festgestellt wurde, so ist bei Strings die
Definition für gleich/equals, dass sie die selbe Länge haben und Zeichen
für Zeichen übereinstimmen, was auch so in der von dir verlinkten Doku
steht.
compareTo ist wieder ein anderes Thema, und der einzige Kontrakt ist,
das wenn compareTo 0 zurück-liefert auch equals true liefern sollte (und
umgekehrt), das ist aber nicht zwingend.