Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.07.12
Prihlásený: 06.04.13
Príspevky: 30
Témy: 14
Príspevok NapísalOffline : 06.04.2013 15:20

Zdravým všetkých
Začal som sa učiť JAVU a keď som si skúšal jeden program nevyhodí mi žiadnu chybu ale výstup je viacnásobný.
Ide o program ktorý je niečo ako hra na uhádnutie písmena. Tu je kód:
Kód:
class UhadniPismeno {


   public static void main(String args[])
   throws java.io.IOException{
      
      char zn;
      System.out.println("Myslým na písmeno od a do z. \nSkús ho uhádnuť");
      do{
         System.out.print("stlač písmeno a enter: ");
         zn=(char)System.in.read();
         
      }while(zn!='k');
      System.out.println("Správne písmeno na ktoré som myslel je k");
      

   }

}


Keď zadám správne písmeno 'k' všetko ide dobre výstup je tento:
Kód:
Myslým na písmeno od a do z.
Skús ho uhádnuť
stlač písmeno a enter: k
Správne písmeno na ktoré som myslel je k


Lenže ak zadám nesprávne písmeno čiže ak sa cyklus opakuje vyhodí mi tento výstup:
Kód:
Myslým na písmeno od a do z.
Skús ho uhádnuť
stlač písmeno a enter: b
stlač písmeno a enter: stlač písmeno a enter: stlač písmeno a enter:

čiže hláška ktorá by sa mala zobraziť len raz sa mi zobrazí trikrát.
Neviete mi náhodou niekto povedať čím to asi je?

A pre info používam najnovšiu verziu Eclipse a JDK7

Ďakujem za každú odpoveď


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 06.04.2013 18:40

Problém je ten, že keď zadáš znak a stlačíš enter, tak do System.in bufferu sa vložia tri znaky - tvoj znak a stlačený enter (enter vo windows sú dva biele znaky, konkrétne v ASCII sú to CR a LF)
To znamená, že že sa tých dvoch musíš nejako zbaviť na konci každého cyklu, pretože ten read si ich kľudne vezme - je mu jedno, aké znaky sú tam.
Môžeš napr. naprázdno zavolať dva krát System.in.read(); System.in.read();
ale mal by na to byť aj nejaký lepší spôsob. Pohľadaj :)







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
JAVA- nechcene viacnásobný výstup z programu

Registrovaný: 03.08.08
Prihlásený: 30.07.17
Príspevky: 272
Témy: 36
Bydlisko: Revúca
Príspevok NapísalOffline : 10.04.2013 9:19

Dalo by sa buď tak ako napísal BX alebo by som tam pridal tento cyklus:
Kód:
do{
zn=(char)System.in.read()
}while(zn!=´\n´)

načíta ti všetky znaky z medzipamäte. Maloby to potom isť v pohode







_________________
MB: ASUS P5K EPUCPU INtel Core 2 Duo E72002,53 GHz (OC 3,5 GHz), ChladičArctic Cooling Freezer Xtreme, RAM: 2*2 GB DDR2 A-DATA Gamer Series 800MHz(OC 1066MHz), VGA: Sapphire Ati Radeon HD 4850 512 DDR3, ChladičArctic Cooling Accelero TWIN TURBO systém HDD: Samsung Spin point F1 320 GB, Data HDD Samsung Spinpoint F1 1TB CASE: Thermaltake SOPRANO black VB1000BWS window ZDROJ: CoolerMaster Silent Pro Active 700W Modular MONITOR:SAMSUNG 22" LCD SyncMaster T220 2ms DVI MYŠ: Razer Diamondback 3G 1800dpi Earth Green KLÁVESNICA: Logitech Wave Corded Keyboard SK, USB GAMEPAD: Speed Link Strike2 - black
Odpovedať na tému [ Príspevkov: 3 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. vystup na sluchadla Výstup pro sluchátka (1xS/PDIF)

v Notebooky a netbooky

1

584

29.06.2011 19:20

rhonin37 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ext USB zvukovka 5.1 vystup a SPDIF vstup/vystup

v Zvuk

5

1478

20.01.2010 15:39

kolacek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nechcene odhlasenie

v Správy pre vedenie fóra

1

866

12.03.2011 12:33

KingTommy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. NOD32 potenciálne nechcené apilkácie

v Antivíry a antispywary

12

1594

26.08.2010 18:52

lubo188 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nechcené medzery medzi div - ami

v HTML, XHTML, XML, CSS

2

445

26.01.2010 12:24

davider137 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako odstrániť z plochy nechcené ikony??

v Operačné systémy Microsoft

2

1407

22.02.2007 20:36

ScorpionSX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. RIP, odstráňte si zo stránok nechcené časti

v Novinky

3

497

17.08.2008 22:28

dsljohn Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. dobre java navody a nova tema JAVA

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Assembler, C, C++, Pascal, Java

35

5424

09.03.2009 17:14

tlacitko Enter Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rozdiel medzi Java Standard a Java EE

v Assembler, C, C++, Pascal, Java

1

837

02.04.2014 12:41

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. JAVA - java.lang.NullPointerException

v Assembler, C, C++, Pascal, Java

1

1082

04.01.2010 17:05

emigrate Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mŕtvy výstup

v Audio programy

2

479

08.05.2010 22:12

Victorious_ Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. double vystup

v Zvuk

3

487

21.01.2010 14:29

Tech Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Coaxial vystup

v Ostatné

13

1558

18.09.2011 15:27

BIO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. optický výstup

v Zvuk

5

1246

01.11.2007 17:18

apet Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. hdmi vystup

v nVidia čipové sady

1

1411

26.12.2010 13:18

brmbo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. xml vystup

v PHP, ASP

6

581

21.08.2008 16:07

MKI-Miro Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  
cron

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra