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?
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.
"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!