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.
public class Wasistdas{
public static void main(String[]args){
String text="Drei Chinesen mit 'nem Kontrabass";
System.out.println(text);
String s=LineInput.readString();
String a=LineInput.readString();
String b=LineInput.readString();
String ausgabe=tuwasmit(s, a, b);
System.out.println(ausgabe);
}
public static String tuwasmit(String s, String a, String b){
if(s==null || s.length()<1) return s;
int pos=-1;
int len=a.length();
StringBuffer sb=new StringBuffer(s);
while((pos=sb.indexOf(a,++pos))>=0)
sb.replace(pos,pos+len,b);
return sb.toString();
}
}
hallo leute unser lehrer hat uns die aufgabe gestellt die funktion dieses programmes herauszufinden.. es ist ein teil aus einem größeren programms das wir nicht haben.. ich weis schon das es 3 strings entgegen nimmt und denn ersten mit den zweiten vergleicht un wenn dies der fall ist den teil der im ersten string vorkommt durch den dritten ersetzt.. was ich nicht verstehe ist wie das ganze funktioniert... es wäre cool wenn jemand eine relativ gut verständliche erklärung schreiben könnte was da passiert..
Tipp: Probier es doch aus. Wenn sich dir dann der Sinn noch nicht erschließen sollte, jag es step by durch einen debugger und schau, was sich wie verändert hat.
Edit: Ansonsten ist da in meiner Signatur (links) ein Link, der die Antwort auf alle Fragen (bzgl. Java, natürlich) geben sollte
also dieser nette Source Code liest drei Strings ein die eingegeben werden sprich s, a und b. Dann werden die drei Strings in die "tuwasmit" Funktion geschickt und dort wird als erstes gecheckt ob s überhaupt befüllt ist. Wenn nicht wird die Funktion beendet und "s" zurückgeliefert. Ist "s" doch befüllt gehts weiter --> eine Variable Namens pos wird auf -1 gesetzt die Länge von a wird ermittelt und s wird an einen StringBuffer übergeben, sprich jedes Zeichen ist einzeln anzusprechen.
Hier schaut er ob der Wert von a in sb vorkommt und an welcher Position, wenn dieser Wert vorkommt wird er im sb durch den Wert von b vertauscht. und das macht er solange bis er "IndexOutOfBounds" ist das heißt bis pos < 0 ist.
Hoffe das reicht. Wozu er das braucht ist fraglich soll mich aber nicht interessieren.