---
Det verkar va fel på så vis att på rad 6 är resultatet en char, men typen jag beöver är String.
Hur fixar man det?
Tack så hjärtligt för tidigare svar!
public class Misc {
public static String reverse( String s ) {
StringBuffer result = new StringBuffer( "" );
for( int i = s.length() - 1; i >= 0; i-- )
result.append( s.charAt( i ) );
return result.toString();
}
}
.= finns inte Java, bara i PHP. I Java skriver man += för att konkatenera. Men en konkatenering i en loop är inte det optimalaste sättet att lösa någonting på, det är mycket bättre att skapa en StringBuffer som man fyller istället.
Det verkar va fel på så vis att på rad 6 är resultatet en char, men typen jag beöver är String.
Hur fixar man det?
Tack så hjärtligt för tidigare svar!
Nog så riktigt. Säg att texten är "Hej" och bokstav är 2. Då blir
enText.charAt(bokstav) = 'j', dvs bokstaven 'j'. Allmänt sett kan du göra om bokstaven j till strängen "j" på flera sätt, bl.a.:
Character ch = new Character(j);
String j = ch.toString();
MEN det löser inte ditt problem rakt av eftersom då blir det:
ut= enText.charAt(bokstav) + "";
Vilket innebär i mitt ex ovan att ut blir lika med, för varje varv i slingan:
ut = ""; //före
ut = "j";
ut = "e";
ut = "H"; //efter
och det var ju inte det du ville.
Så i princip kan du göra så här:
ut= ut + enText.charAt(bokstav);
För då adderas nästa hela tiden till det du redan har, alltså:
ut = ""; //före
ut = "j";
ut = "je";
ut = "jeH"; //efter
MEN man brukar inte använda String för att addera bokstäver, minst av allt i for-slingor och dylikt. En String kan nämligen inte ändras, så för varje del i ett adderande uttryck skapas och slängs en förskräcklig massa String:ar. Det tar en massa onödig tid och minne. Alltså brukar man i stället använda StringBuffer. Ett speciellt objekt som just är gjort för att manipulera strängar och där innehållet i den redan skapade StringBufferten ändras istället för att massor av onödiga temporära objekt skapas och slängs... Dess syntax kan du se ovan i tidigare svar, eller gå till Javas API och läs.
258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849