/***************************************************************/ /* Prof. Dr. Gregor Büchel */ /* Source : String4.java */ /* Beispielprogramm für Methoden der STRING-Verarbeitung */ /* Stand: 27.12.2002 */ /***************************************************************/ class String4 { public static void main(String args[]) {int is=1, ek, k1, k, iv, ib, wt, iv1, i, ia; String s1, s2, s3=" Schmitz",s4; String w[]; char x[], y[]; s1= new String(); s4= new String(); s1= "FRITZ"; while (is==1) {System.out.println("STRING-Verarbeitung:"); System.out.println("(1) Kopieren und Konkathenieren von Strings"); System.out.println("(2) Konvertierung: String <-> Zeichenfeld[]"); System.out.println("(3) Substring"); System.out.println("(4) Lexikographischer Vergleich"); System.out.println("(5) Pruefen auf Muster"); System.out.println("(6) Zerlegen einer Wortfolge in Woerter"); System.out.println("(7) Pruefen auf mehrstellige Muster"); System.out.println("(0) ENDE"); ek=IO1.einint(); switch(ek) {case 0: is=0; break; case 1: System.out.println("Inhalt von s1: "+s1); /* Kopieren durch Zuweisung */ s1="KARL"; System.out.println("Neuer Inhalt von s1 (Kopieren durch Zuweisung): "+s1); System.out.println("s1 nun mit XXX verklebt:"); s1=s1.concat(" "); s1=s1.concat("XXX"); System.out.println("Konkathenation: "+s1); s2=s1.toString(); System.out.println("Information zu s1="+s1+" : "+s2); /* String-Konkathenation mit + Operator */ s4=s1+s3; System.out.println(s1+" + "+s3+" = "+s4); break; case 2: System.out.println("Geben Sie bitte einen String ein:"); s1=IO1.einstring(); k1=s1.length(); System.out.println("Laenge des Eingabestrings: "+k1); /* Das Feld x[] wird durch die Methode toCharArray() */ /* angelegt. */ x=s1.toCharArray(); y=new char[k1]; /* Klassenvariable length speichert apriori für jeden */ /* Array seine Laenge */ System.out.println("Das Feld: "); for (k=0; k String s2 mittels speziali- */ /* siertem Konstruktoraufruf */ s2=new String(y); System.out.println("String in Spiegelschrift: "+s2); break; case 3: System.out.println("Geben Sie bitte einen String ein:"); s1=IO1.einstring(); k1=s1.length(); System.out.println("Laenge des Eingabestrings: "+k1); wt=1; do {System.out.println("Geben Sie die Startposition iv ein:"); System.out.println("0 <= iv < "+k1+" , sonst: RUNTIMEFEHLER"); iv=IO1.einint(); System.out.println("Geben Sie die Endposition ib ein:"); System.out.println(iv+" <= ib <="+k1+" , sonst: RUNTIMEFEHLER"); System.out.println("ib = "+iv+" => leerer Substring! "); ib=IO1.einint(); s2=s1.substring(iv,ib); System.out.println(s1+"("+iv+","+ib+")="+s2+"."); System.out.println("weiter (ja=1/nein=0)?"); wt=IO1.einint(); } while (wt==1); break; case 4: System.out.println("Geben Sie bitte einen String ein:"); s1=IO1.einstring(); s2=new String(); System.out.println("Geben Sie einen zweiten String ein:"); s2=IO1.einstring(); iv=s1.compareTo(s2); if (iv<0) System.out.println(s1+" << "+s2+" , iv = "+iv); if (iv==0) System.out.println(s1+" = "+s2+" , iv = "+iv); if (iv>0) System.out.println(s1+" >> "+s2+" , iv = "+iv); break; case 5: System.out.println("Geben Sie bitte einen String ein:"); s1=IO1.einstring(); s2=new String(); System.out.println("Geben Sie ein Muster (Vergleichsstring) ein:"); s2=IO1.einstring(); iv=s1.indexOf(s2); System.out.println("Das Muster '"+s2+"' tritt in "+s1+" an POS="+iv+" auf."); if (s2.length()==1&&iv>0) {x=s1.toCharArray(); y=s2.toCharArray(); for (i=iv; i "+s1.substring(i+1)); } } break; case 6: System.out.println("Geben Sie bitte eine Wortfolge ein:"); s1=IO1.einstring(); /* Aufruf einer static-Methode der Klasse String4 */ w=zerleg(s1); System.out.println("Die Wortliste:"); for (i=0; ibz="+bz); sr=new String[bz+1]; a=s3.length(); b=s3.indexOf(" "); while (b>0 && b=0) {ir=ir+1; System.out.print("Muster "+s2+" an POS="+kp+" : "); if (ip+l2