Miten luetaan Java:lla merkkejä näppäimistöltä niin, että ei tarvitse painaa RETURN:ia?
Esim. ao. ohjelman olisi tarkoitus kaiuttaa jokainen painettu merkki takaisin ruudulle, mutta se vaatii RETURN:n painamista jokaisen merkin jälkeen. Ymmärrän, että System.in on rivipuskuroitu, mutta kuinka em. ongelma ratkaistaan?
public static void main(String[] args) throws java.io.IOException {
char ch;
System.out.println("OHJELMA ALKOI.");
for(;;) {
ch = (char)System.in.read();
System.out.print(ch);
if(ch =='q')break;
}
System.out.println("OHJELMA LOPPUI.");
}
Merkkien luku
1
249
Vastaukset
- fidel1
System.in ei ole javan kannalta rivipuskuroitu vaan käyttöjärjestelmän konsoli on. Eli javalla ei voi lukea yksittäisi kirjaimia normaalista konsoli-inputista, koska java-prosessi ei niitä näe ennenkuin kuin käyttäjä painaa enteriä.
Näin minä sen ainakin olen ymmärtänyt, korjatkaa joku jos olen väärässä.
Ongelman voit kiertää esimerkiksi luomalla pienen syöttöikkunan ja kuuntelemalla näppäinpainalluksia, mikä ei tosin hirveästi lohduta, jos sulla ei ole graafista ympäristöä käytössä.. mutta katso Googlesta lisätietoja, esim. hakusanoilla "java unbuffered input stream"
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Voitasko leikkiä jotain tunnisteleikkiä?
Tietäisi ketä täällä käy kaipaamassa.. kerro jotain mikä liittyy sinuun ja häneen eikä muut tiedä. Vastaan itsekin kohta781795Tietysti jokainen ansaitsee
Hän varmasti ansaitsee vain parasta ja sopivinta tietenkin, suon sen onnen hänelle enemmän kuin mielelläni. Aika on nyt181679- 161494
En voi sille mitään
Tulen niin pahalle tuulelle tästä paikasta nykyisin. Nähnyt ja lukenut jo kaiken ja teidän juttu on samaa illasta toisee12118450+ naiset kyl
Lemottaa sillille mut myös niitte kaka lemottaa pahlle ku kävin naiste veskis nuuhiin191183Välitän sinusta mies
Kaikki mitä yritin kertoa tänään ei mennyt ihan putkeen..Joka jäi jälkeenpäin ajateltuna suoraan sanottuna harmittaa aiv61172hieman diabetes...
Kävin eilen kaverin kanssa keskusapteekissa kun on muutama kuukausi sitten tullut suomesta ja oli diabetes insuliinit lo121126Annetaanko olla vaan
Siinä se, tavallaan kysymys ja toteamuskin. Niin turhaa, niin rikkovaa. On niin äärettömän tärkeä, ja rakas olo.. N291121Miten joku voi käyttää koko elämänsä
siihen että nostelee täällä vanhoja ketjuja ja troIIaa niihin jotain linkkiä mitä kukaan ei avaa? Ihmisellä ei ole mitää61099Pakkoruotsi on leikkikieli, jota ei ole tarkoituskaan osata
Pakkoruotsi on leikkikieli. Ennen leikkikieltä sanottiin siansaksaksi, sitten keksittiin tilalle pakkoruotsi. Pakkoruot71094