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