► Zobrazit spoiler
Řetězce v javě - nevypíše ostatní znaky Vyřešeno
Řetězce v javě - nevypíše ostatní znaky Vyřešeno
Dobrý den, mám jistý porblém s jednou úlohou v javě (NetBeans). Máme vytvořit program, který v danném řetězci převede velké písmeno na malé a naopak. Úkol mám jako takový mám hotový, ale vadí a asi by to vadilo i ostatním, že když se v řetězci nachází i něco jiného, než písmena (číslovky, vykřičník, pomlčky...), tak se nevypíší poté do převedeného řetězcu. Jinak písmena jsou správně převedená. Prosím poraďte, kde bych měl co změnit/přidat. Děkuji
Notebook : Intel Core i3 3110M 2.4 GHz | RAM 6GB | LENOVO G500 | AMD Radeon HD 8750M 2GB | Win 10 Pro 64-bit
Re: Řetězce v javě - nevypíše ostatní znaky
Když vypisuješ jen malá a velká písmena, tak se nediv že ostatní znaky tam nemáš 
A používej else, když už jedna možnost nastala, tak nemá smysl testovat další. Také je dobré kreslit si vývojové diagramy, hodně pomáhají představivosti a ušetří dost práce s hledáním chyb.
Já bych teda spíš měnil znaky přímo v tom řetězci a pak ho zobrazil celý najednou. Všiml sis že v ASCII se malá a velká písmena liší o 32, což je zároveň kód mezery? Toho se dá celkem vtipně využít...

A používej else, když už jedna možnost nastala, tak nemá smysl testovat další. Také je dobré kreslit si vývojové diagramy, hodně pomáhají představivosti a ušetří dost práce s hledáním chyb.
Kód: Vybrat vše
char z = s.charAt(i);
if (Character.isLowerCase(z))
{
System.out.print(Character.toUpperCase(z));
}
else
if (Character.isUpperCase(z))
{
System.out.print(Character.toLowerCase(z));
}
else
System.out.print(z);
Já bych teda spíš měnil znaky přímo v tom řetězci a pak ho zobrazil celý najednou. Všiml sis že v ASCII se malá a velká písmena liší o 32, což je zároveň kód mezery? Toho se dá celkem vtipně využít...
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Řetězce v javě - nevypíše ostatní znaky
Děkuji moc, opraveno a funguje. Uzavírám
Btw, na to ASCII se mrknu, něco na tom bude.
Btw, na to ASCII se mrknu, něco na tom bude.
Notebook : Intel Core i3 3110M 2.4 GHz | RAM 6GB | LENOVO G500 | AMD Radeon HD 8750M 2GB | Win 10 Pro 64-bit
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů