Řetězce v javě - nevypíše ostatní znaky Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
eda220
Level 3.5
Level 3.5
Příspěvky: 724
Registrován: leden 12
Pohlaví: Muž
Stav:
Offline
Kontakt:

Řetězce v javě - nevypíše ostatní znaky  Vyřešeno

Příspěvekod eda220 » 09 led 2013 18:43

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

► Zobrazit spoiler
Notebook : Intel Core i3 3110M 2.4 GHz | RAM 6GB | LENOVO G500 | AMD Radeon HD 8750M 2GB | Win 10 Pro 64-bit

Reklama
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Řetězce v javě - nevypíše ostatní znaky

Příspěvekod faraon » 09 led 2013 18:57

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.

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)

Uživatelský avatar
eda220
Level 3.5
Level 3.5
Příspěvky: 724
Registrován: leden 12
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Řetězce v javě - nevypíše ostatní znaky

Příspěvekod eda220 » 09 led 2013 19:41

Děkuji moc, opraveno a funguje. Uzavírám

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ů