16. december 2002 - 19:06
Der er
21 kommentarer og 1 løsning
Fortsættelse af " og charAt
Jeg er ved at lave en opgave som skal lave et " i en string om til " Jeg gør det med et array.... Det birker dog langtfra. Her er min kode: public String toHTMLString(String in) { String[] tegn[] = new String[in.length()]; for(int i=0; i < in.length(); i++){ tegn[i] = in.charAt(i) != '"' ? in.chatAt(i) : """; } String resultat = ""; for(int j = 0; j < tegn.length; j++) { resultat.concat(tegn[j]); } return resultat; } Hvad gør jeg for at få det til at virke ??
Annonceindlæg tema
16. december 2002 - 19:10
#1
{ StringBuffer buf = new StringBuffer(); for( int i=0;i<in.length();++i) { if (in.charAt(i) = '"') { buf.append(""") } else { buf.append(""+in.chatAt(i)); } return buf.toString() } }
16. december 2002 - 19:12
#2
Ups .. manglede lige at få metode-headeren med public String toHTMLString(String in) { StringBuffer buf = new StringBuffer(); for( int i=0;i<in.length();++i) { if (in.charAt(i) = '"') { buf.append(""") } else { buf.append(""+in.chatAt(i)); } } return buf.toString() }
16. december 2002 - 19:14
#3
Og så et semikolon efter buf.append(""");
16. december 2002 - 19:41
#4
Hvorfor ikke: public String toHTMLString(String in) { StringBuffer buf = new StringBuffer(); for( int i=0;i<in.length();i++) { // <---- i++ i.s.f. ++i if (in.charAt(i) = '"') { buf.append(""") } else { buf.append(in.charAt(i)); // <---- typo fixet og overflødig streng fjernet } } return buf.toString() } ?
16. december 2002 - 19:43
#5
hvorfor i++ i stedet for ++i --- hvad er der galt med en pre-eval i stedet for en post-eval ... Det vil jo aligevel give det samme resultat... Tak for typo-ret, by the way :-)
16. december 2002 - 19:45
#6
sorry -- det er ikke eval .. men i denne struktur (for-løkke vil det da give samme resultat)
16. december 2002 - 19:46
#7
Der er vel ikek noget galt med ++i, men det er "normalt" med i++.
16. december 2002 - 19:48
#8
he he -- jeg har kodet med ++i lige siden jeg blev fortalt af min C++-lærer at det gav en mere optimeret kode ifm. for-løkker...
16. december 2002 - 19:49
#9
Tak for jeres smukke foreslag. Vi har dog fået den løst på denne subtile måde: public String toHTMLString(String in) { String tegn[] = new String[in.length()]; for (int i = 0; i < in.length(); i++) { int tal = in.indexOf("\"", i); int tal2 = in.indexOf("<", i); if (i == tal) { tegn[i] = ("""); } else if (i == tal2) { tegn[i] = ("<"); } else tegn[i] = "" + in.charAt(i); } String resultat = ""; for (int j = 0; j < tegn.length; j++) { resultat += tegn[j]; } return resultat; } Den er sgu smuk, hva' ? Men tak for infoen om StringBuffer. Det er jo en smart ting (o; Arne>> Smid et svar, så kan i dele pointsne...........
16. december 2002 - 19:49
#10
Under alle omstændigheder kom jeg først denne gang ;-) .... *smiler*
16. december 2002 - 19:50
#11
berhugx> Det var muligvis sandt med visse C++ compilere for mange mange år siden. Men idag bør man lade compilerne om at stå for den slags optimeringer.
16. december 2002 - 19:51
#12
legende.dk> Nej - jeg synes du skal give bearhugx alle pointene, da jeg ikke rigtigt har bidraget med noget.
16. december 2002 - 19:51
#13
arne > Ok... legende.dk ... Ikke for at sige noget ,,,, men hold da kæft, hvor er den kode obskur!
16. december 2002 - 19:53
#14
Den er sindsyg. Jeg er ved at dø af grin over den. Men for en nystartet Datamatiker er den cool (o; Her er pointsne... Mvh
16. december 2002 - 19:56
#15
Iøvrigt tror jeg at I i virkeligheden vil: public String toHTMLString(String in) { StringBuffer buf = new StringBuffer(""); for( int i=0;i<in.length();i++) { char c = in.charAt(i); switch(c) { case '"': buf.append(""") break; case '<': buf.append("<"); break; case '>': buf.append(">"); break; default: buf.append(c); break; } } return buf.toString() }
16. december 2002 - 19:57
#16
Hmmm arne ... multi-purpose :-)
16. december 2002 - 19:59
#17
Hvis "<" er et problem, så tror jeg også at ">" er det !
16. december 2002 - 20:00
#18
arne er smuk
16. december 2002 - 20:00
#19
Og hvis man skal teste for mere end 2 værdier, så må switch være det rigtige.
16. december 2002 - 20:02
#20
legende.dk> næppe Jeg formoder, at I er igang med at generere noget XML. I kunne ikke bruge et af de mange XML libraries til det ?
16. december 2002 - 20:04
#21
Det var bare en enkelt lille metode, som skulle udskifte nogle tegn til html kode. Andet var der ikke i det. Men den var da lærerig.....
16. december 2002 - 20:06
#22
takker for points ... har dog været travt beskæftiget med at formulere et andet spm
Kurser inden for grundlæggende programmering