Diesmal habe ich mich an einem in mehrerer Hinsicht ungewöhlichen Programm versucht: die Aufgabenstellung ist tw. unklar und schlichtweg falsch; das Programm ergibt keinen Sinn; es gibt bereits Lösungen dazu. Die Beispielnummer lautet diesmal 1025
extractWord() | |
---|---|
Die eigentliche "Anführungszeichenzusammenführungsmethode" ist ziemlich kompakt geworden: 107 public static String extractWord(String s) 108 throws Exception 109 { 110 String n=""; 111 s += " "; // damit der s.charAt(++i)-Trick funktioniert 112 113 for(int i=0; i<s.length()-1; i++) { 114 if(s.charAt(i) == '"') 115 if(s.charAt(++i) != '"') 116 throw new Exception("Alleinestehendes "+ 117 "Anführungszeichen!"); 118 119 checkValidChar(s.charAt(i)); 120 121 n += s.charAt(i); 122 } 123 124 return(n); 125 } |
Beschreibung extractWord() | |
---|---|
Die Strategie: Den String in einen neuen String umtopfen. Wenn wir auf ein Anführungszeichen stoßen, dieses überspringen. 110 n wird unser neuer String, in dem dann das Endergebnis steht. 111 damit wir ein abschließendes, alleinestehendes " erkennen, hängen wir hier ein Leerzeichen an. 113 Wir gehen nun alle Zeichen -- bis auf das abschließende Leerzeichen -- durch. 114 stoßen wir auf ein Anführungszeichen... 115 ...und ist das nächste keines... 116-117 gibt's eine Exception. Das klappt so nur, weil wir einerseits ein Leerzeichen angehängt haben (sonst könnte der String zu kurz sein) und weil wir ein abschließendes Anführungszeichen für die Ausgabe des nächsten Worts ggf. bereits entfernt haben. Klingt nicht nur verwirrend, macht auch nicht viel Sinn, das mit der Ausgabe. 119 Hier prüfen wir noch, ob das Zeichen überhaupt gültig ist... 121 ...und fügen es an unseren neuen String. 124 nachdem wir alle Zeichen durch sind, können wir das Ergebnis zurückliefern. |
Comments - Make a comment |
The comments are owned by the poster. We are not responsible for its content. |
AdministrativeTexts
updated by freddiemac1993, 2013-06-14
wiki
Re: adventures
created by brittdavis10, 2012-02-23 (1 rply, 3 views)
thread
Re: how to run phpwebsite...
created by alexander, 2011-08-25 (2 rpls, 3607 views)
thread
Re: Forum tags
created by HaroldFaragher, 2011-08-22 (3 rpls, 8488 views)
thread