/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
repeat until keypressed
Fra : Torben Svendsen


Dato : 21-12-02 06:47

Kære gruppe

Jeg har kun en uges erfaring i java, så jeg arbejder/leger med det mest
grundlæggende.
Fra min tid med Pascal kan jeg huske, at man kan lave en lykkekonstruktion
af typen:

repeat
gør noget
until keypressed

Kan man lave noget tilsvarende i java og i givet fald hvordan gør man det
så?

På forhånd tak

Torben Svendsen
www.sydjyskvinselskab.dk



 
 
Anders K. Olsen (21-12-2002)
Kommentar
Fra : Anders K. Olsen


Dato : 21-12-02 14:53

"Torben Svendsen" <torbensvendsen@mail.dk> skrev i en meddelelse
news:3e040061$0$143$edfadb0f@dread12.news.tele.dk...
> Kære gruppe
>
> Jeg har kun en uges erfaring i java, så jeg arbejder/leger med det mest
> grundlæggende.
> Fra min tid med Pascal kan jeg huske, at man kan lave en lykkekonstruktion
> af typen:
>
> repeat
> gør noget
> until keypressed
>
> Kan man lave noget tilsvarende i java og i givet fald hvordan gør man det
> så?

Ja, det kan du sagtens:

do {
gør noget;
} while (!keypressed);

/Anders



Torben Svendsen (21-12-2002)
Kommentar
Fra : Torben Svendsen


Dato : 21-12-02 21:07

Tak!

Jeg vender nok snart tilbage.

Torben Svendsen
www.sydjyskvinselskab.dk




Torben Svendsen (29-12-2002)
Kommentar
Fra : Torben Svendsen


Dato : 29-12-02 10:53

Kære gruppe
Tak for de supplerende svar. Måske var mit spørgsmål ikke godt nok
formuleret. Det var ikke så meget selve løkkekonstruktion, der voldte mig
problemer (den er jo ikke så forskelligt fra andre sprog), men hvordan man
får en løkke til at løbe, indtil brugeren trykker på en tast.
Det har jeg nu fået svar på, og det er jeg meget gladt for.
Godt nytår til alle!

> Torben Svendsen
> www.sydjyskvinselskab.dk
>
>
>



Benny Andersen (25-12-2002)
Kommentar
Fra : Benny Andersen


Dato : 25-12-02 22:04

On Sat, 21 Dec 2002 14:52:58 +0100, "Anders K. Olsen"
<ako@post.tele.dk> wrote:

[Klip]
>do {
> gør noget;
>} while (!keypressed);
>
>/Anders
>
hvad er keypressed?


Anders K. Olsen (26-12-2002)
Kommentar
Fra : Anders K. Olsen


Dato : 26-12-02 14:38

"Benny Andersen" <be9@worldoffline.dk> skrev i en meddelelse
news:3e0a1cfb.11051501@news.kabelnettet.dk...
> On Sat, 21 Dec 2002 14:52:58 +0100, "Anders K. Olsen"
> <ako@post.tele.dk> wrote:
>
> [Klip]
> >do {
> > gør noget;
> >} while (!keypressed);
> >
> >/Anders
> >
> hvad er keypressed?

Pseudokode. Jeg gik ud fra det eksempel som Torben postede i det oprindelige
indlæg. Hvis du vil bruge min kode, skal du selv finde på noget passende at
skrive i stedet for "gør noget" og "keypressed".

Du kan dog også vælge at definere en boolean som hedder keypressed, så vil
den del da fungere. Du får nok lidt sværre ved at få compileren til at
acceptere "gør noget"

/Anders



Thomas Pryds Laurits~ (26-12-2002)
Kommentar
Fra : Thomas Pryds Laurits~


Dato : 26-12-02 19:49

Benny Andersen wrote:
>>hvad er keypressed?

Anders K. Olsen wrote:
> Pseudokode.

Så er alt hvad du forklarer jo blot anvendelsen af en do-while-løkke.
Det havde måske været smart om du i dit eksempel havde defineret
keypressed, eller forklaret hvad der skal til for at "føle" efter tasteslag?

--
Thomas Pryds Lauritsen
(der ikke har sat sig ind i brugen af tastatur-"følere" i java)

"There is the theory of the Moebius.
A twist in the fabric of space where time becomes a loop."


Lasse Reichstein Nie~ (26-12-2002)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 26-12-02 19:53

Thomas Pryds Lauritsen <thomas@prydslauritsen.nospam.dk> writes:

> Så er alt hvad du forklarer jo blot anvendelsen af en do-while-løkke.
> Det havde måske været smart om du i dit eksempel havde defineret
> keypressed, eller forklaret hvad der skal til for at "føle" efter
> tasteslag?

Det lød ellers netop til at det oprindelige spørgsmål gik på
løkkekonstruktion, ikke aflæsning af tastetryk.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
'Faith without judgement merely degrades the spirit divine.'

Thomas Pryds Laurits~ (26-12-2002)
Kommentar
Fra : Thomas Pryds Laurits~


Dato : 26-12-02 21:29

Lasse Reichstein Nielsen wrote:
> Det lød ellers netop til at det oprindelige spørgsmål gik på
> løkkekonstruktion, ikke aflæsning af tastetryk.

Hmm.. ja, det er igrunden muligt. Jeg gik ud fra at det var
"keypressed"-delen der fokuseredes på, da det sprang mest i øjnene --
det andet er jo trods alt bare en løkke.

Men ok, "kun en uges erfaring" -- er ikke sikker på at jeg heller havde
helt styr på do-while-løkker efter blot en uge med Java

Er du i øvrigt i familie med Ole (Reichstein Nielsen)?

--
Thomas Pryds Lauritsen

"There is the theory of the Moebius.
A twist in the fabric of space where time becomes a loop."


Brian Matzon (26-12-2002)
Kommentar
Fra : Brian Matzon


Dato : 26-12-02 20:12

Thomas Pryds Lauritsen wrote:
> Så er alt hvad du forklarer jo blot anvendelsen af en do-while-løkke.
> Det havde måske været smart om du i dit eksempel havde defineret
> keypressed, eller forklaret hvad der skal til for at "føle" efter
> tasteslag?
(pænt stiv, testet med eclipse):
public class KeyPress {

boolean keypress;

public KeyPress() {
}

public void executeTest() {
Thread inputThread = new Thread() {
public void run() {
try {
System.in.read();
keypress = true;
} catch (Exception e) {
}
}
};
inputThread.start();

System.out.println("Press any key to exit");

while (!keypress) {
try {
Thread.sleep(500);
} catch(InterruptedException inte) {
}
}
}

public static void main(String[] args) {
new KeyPress().executeTest();
}
}

Ja, der skal så meget til, da io er blocking i Java, med mindre du leger
med nio, som jeg ikke har kigget på endnu (andet ByteBuffers)

/Brian Matzon


Benny Andersen (29-12-2002)
Kommentar
Fra : Benny Andersen


Dato : 29-12-02 15:05

On Thu, 26 Dec 2002 14:37:54 +0100, "Anders K. Olsen"
<ako@post.tele.dk> wrote:
[KLIP]
>Pseudokode.......

Ok, det oprindelige spørgsmål lagde ikke op til så meget. Det er dog
et emne som mange på et tidspunkt overvejer, så:

Der eksisterer ingen ækvivalens til den simple funktionalitet i pascal
eller kbhit() i borland c, hvor man kunne vente på tastetryk i en
console app. I java skal man lave en GUI app.


import javax.swing.*;
import java.awt.event.*;

public class Slamkode extends JFrame implements KeyListener
{
   private JTextArea ta;
   
   Slamkode()
   {
      ta = new JTextArea();
      getContentPane().add(ta);
      setSize(500,300);
      ta.setLineWrap(true);
      ta.addKeyListener(this);
      setVisible(true);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   }

   public void keyTyped(KeyEvent e)
   {
      ta.append(e.getKeyChar()+",");
      e.setKeyChar(' ');
   }
   
   public void keyPressed(KeyEvent e)
   {
   }
   
   public void keyReleased(KeyEvent e)
   {
   }   

   public static void main(String[] args)
   {
      new Slamkode();
   }
}

http://java.sun.com/docs/books/tutorial/post1.0/ui/keylistener.html

/Benny


Søg
Reklame
Statistik
Spørgsmål : 177492
Tips : 31966
Nyheder : 719565
Indlæg : 6408466
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste