Hogyan tudom levágni egy karakterlánc utolsó karakterét? Valamint ékezetes betűket lecserélni?
Sziasztok!
Azzal a kérdéssel fordulok hozzátok, hogy Java nyelven írok programot, de gy kicsit elakadtam. Az első kérdésem az lenne, hogyan tudom egy String típusú karakterlánc utolsó karakterét levágni?
A másik kérdésem pedig az, hogy sajnos nem értem, h a programom másik fele miért nem megy helyesen...
char[] ch = kars.toCharArray();
for (int i=0; i < ch.length; i++) {
if (ch[i] == 'á') ch[i] = 'a';
if (ch[i] == 'é') ch[i] = 'e';
if (ch[i] == 'í') ch[i] = 'i';
if (ch[i] == 'ó' || ch[i] == 'ö' || ch[i] == 'ő') ch[i] = 'o';
if (ch[i] == 'ú' || ch[i] == 'ü' || ch[i] == 'ű') ch[i] = 'u';
A kars egy String típusú változó, amibe bekérem a billentyűzetről az infót. A legérdekesebb, hogy az ű-t lecseréli u-ra, csak a többi nem akar menni. Próbáltam a karaktereket lecserélni, pl á-t ß-ra, hátha bejön, de nem sikerült. Van ötletetek esetleg?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
Szia.
Először is nem vagyok egy nagy jávás, de gondolom az utolsó karaktert igy kapod meg valahogy :
utolso = kars[kars.length];
Az átalakitásra :
próbáld meg azt, hogy ugyanúgy alakitod át a "problémás" karaktereket mint a nem problémás karaktereket, tehát csinálj belőlük egy soros átalakitásokat :
if (ch[i] == 'ó') ch[i] = 'o';
if (ch[i] == 'ö') ch[i] = 'o';
if (ch[i] == 'ő') ch[i] = 'o';
Igy azt is megtudhatod, hogy melyik karakter miatt nem megy az átalakitás.
Sok sikert.
Üdv.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
"Az első kérdésem az lenne, hogyan tudom egy String típusú karakterlánc utolsó karakterét levágni?"
ha kars egy string objektum (én inkább s-nek hívám)
kars.substring(int ettol,int eddig) visszaad egy String-et
ami kars string-bek ettol-eddig terjedő rész stringje.
Értelem szerűen levágja az utolsó karaktert így : kars=kars.substring(0,kars.length()-1);
kars.replace(char mit,char mire) visszaad egy stringet, értelem szerűen ...
kars=kars.replace('á','a') az összes előforduló á-t a-ra cseréltük kars-ban.
"A legérdekesebb, hogy az ű-t lecseréli u-ra, csak a többi nem akar menni. Próbáltam a karaktereket lecserélni, pl á-t ß-ra, hátha bejön, de nem sikerült. Van ötletetek esetleg?"
Tényleg "nagyon érdekes", mi magyarok használjuk ezeket a vacak ékezetes betűket, amivel egyébként mindig csak a gond van informatikába, nem tartozik az angol abc jelkészlet szimbólumai közé, az informatikai kódrendszerek megalkotói (kezdetben) nem vették figyelembe, ezeket a különlegesnek számító karakterekt ...
A konzol ablak (az a fekete ablak) amibe a java programod (is) fut a 852-es kódlapot használja, ez az alapértelmezett, hogy kompatibilis legyen a régi programokkal, a java forráskód az 1250-es kódlapban van, vagyis a szerkesztő amiben a forrást írod azt használja.
Windows alatt parancssorba CHCP 1250 paranccsal tudsz a megfelelő kódlapra áttérni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!