Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
bin eher ein anfänger und habe folgendes problem
zwei strings
zb
1.String --> garderobe
2.String --> reoagbedst
ich will das erste mit dem zweiten vergleichen
und dann wieder das erste ausgeben wenn es übereinstimmen sollte.
hier ist das problem dass im zweiten ein r zuwenig ist und daher das wort garderobe nicht ermittelt werden kann.
mein code funktioniert ohne dieser ausanhme
würde mich um tipps und hilfe sehr freuen
thx
Code:
import java.util.*;
public class myString{
Scanner sc = new Scanner(System.in);
String str;
String str1 = sc.next();
boolean ok = false;
String stri = "";
public myString(String internal){
str = internal;
for(int y = 0; y < str1.length(); y++){
char a = str1.charAt(y);
/*System.out.println(a);*/
for(int z = str.length(); z >= 0; z--){
char b = str.charAt(z);
/*System.out.println(a + "=/" + b);*/
if(a == b){
/*System.out.println(a + "={" + b);*/
stri = stri + Character.toString(a);
/*System.out.println(a);*/
break;
}
if(a != b && z == str.length() - 1) {
System.out.println("Das Wort kann nicht erzeugt werden");
ok = true;
if(ok){
System.exit(0);
}
}
}
}
System.out.println(stri);
}
}
falls die Fragestellung ein wenig unklar ist werde ich es versuchen noch deutlicher zu erklären
danke für die tipps....
aber ich habe in meiner Main klasse, die so aussieht die Strings welche übergeben werden und so aussieht.....aber es funktioniert dann nicht.
Java:
import java.util.*;
public class Main{
public static void main(String []args){
myString mS = new myString("rogdraodmpe","programme");
}
}
irgendwie funktioniert das nicht so
kann mir jemand helfen.
die ansätze sind super aber ich kann es nicht ausführen
thanks
danke für die tipps....
aber ich habe in meiner Main klasse, die so aussieht die Strings welche übergeben werden und so aussieht.....aber es funktioniert dann nicht.
Ich hab keine Ahnung, was du damit sagen willst? Soweit wie ich dich verstehe, willst du überprüfen ob ein bestimmtes Wort in einem anderen "Buchstabenkladeradatsch" vorkommt. Oder?
import java.util.*;
public class Main{
public static void main(String []args){
myString mS = new myString("rogdraodmpe");
}
}
in der Main Klasse will ich den String übergeben
und in der myString Klasse will ich noch ein wort mit Scanner einlesen z.b --> programme
ob man "programme" aus "rogdraodmpe" wieder ausgeben kann.
in diesem Fall ist es nicht möglich weil ich ein "m" zu weinig habe.
in deinem code hast du alles in einer klasse --> bei mir sind es zwei klassen wie beschrieben.
in meinem ersten thread funktioniert es so dass ich immer den string "rogdraodmpe" durchgehe --> aber ich müsste die Buchstaben die er findet eliminieren damit er nicht wieder die gefundenen durchläuft.
ich hoffe jetzt ist es ein wenig verständlicher.
Danke für die tipps
Da kannst du doch meinen obige Code nehmen. Nur das du halt die Strings von woanders bekommst. Den einen String bekommst du ja als Parameter rein und den anderen liest du mittels des Scanners ein.
danke @x.l --> jetzt funktioniert (methode)....aber es ist nicht das gewünschte ergebnis von mir
er sagt mir jetzt dass buchstabe d,o,d fehlt wenn ich programme einlese.
das gewünschte ergebnis von mir --> er soll mir aber "programme" nicht liefern weil in dem string "rogdraodmpe" ein m zu wenig ist.
hoffe du kannst mr helfen
thx
Eigentlich ganz einfach. Du überprüfst gerade nicht ob "programme" in "rogdraodmpe" vorkommt, sondern ob "rogdraodmpe" in "programme" vorkommt. Alles klar
@Landei ich glaube nicht, wenn ich es richtig verstanden habe können im den "Buchstabendurcheinander" auch mehr zeichen enthalten, die ignoriert werden sollen...