[ 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 | 14

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 | 3

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 | 36
Bydlisko: Revúca

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
 [ Príspevkov: 3 ] 


JAVA- nechcene viacnásobný výstup z programu



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

689

29.06.2011 19:20

rhonin37

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

1607

20.01.2010 15:39

kolacek

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

Nechcene odhlasenie

v Oznámenia a návrhy

1

950

12.03.2011 12:33

KingTommy

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

NOD32 potenciálne nechcené apilkácie

v Antivírusy a ochrana

12

1692

26.08.2010 18:52

lubo188

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

nechcené medzery medzi div - ami

v Frontend

2

534

26.01.2010 12:24

davider137

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

Ako odstrániť z plochy nechcené ikony??

v Windows

2

1702

22.02.2007 20:36

ScorpionSX

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

RIP, odstráňte si zo stránok nechcené časti

v Novinky

3

561

17.08.2008 22:28

dsljohn

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

Rozdiel medzi Java Standard a Java EE

v Backend

1

992

02.04.2014 12:41

XOLOO

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 Backend

35

5716

09.03.2009 17:14

tlacitko Enter

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

JAVA - java.lang.NullPointerException

v Backend

1

1186

04.01.2010 17:05

emigrate

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

Coaxial vystup

v Ostatné

13

1723

18.09.2011 15:27

BIO

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

optický výstup

v Zvuk

5

1360

01.11.2007 17:18

apet

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

hdmi vystup

v Ostatné platformy

1

1520

26.12.2010 13:18

brmbo

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

xml vystup

v Backend

6

671

21.08.2008 16:07

MKI-Miro

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

Mŕtvy výstup

v Audio programy

2

559

08.05.2010 22:12

Victorious_

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

double vystup

v Zvuk

3

568

21.01.2010 14:29

Tech



© 2005 - 2026 PCforum, edited by JanoF