Avatar billede kamak Praktikant
12. marts 2003 - 15:26 Der er 14 kommentarer og
2 løsninger

Timer

Hvordan laver men en timer i java der kan tælle fra 1 til 10 med 0,7 sekunders interval i en GUI og en TUI (text user interfase f.eks. en dos prompt)???
Jeg har programmeret en del i VB og der er der et "timer objekt" man kan bruge. Jeg har ikke fundet noget tilsvarende i java.
Avatar billede repsak Nybegynder
12. marts 2003 - 15:30 #1
du burde bare kunne skrive (utsetet)
try{
for(int i=1 ; i<=10;  i++){
System.out.println(i);
Thread.sleep(700); //milisekunder

}
Avatar billede kamak Praktikant
12. marts 2003 - 15:39 #2
Jeg er ikke helt med på det med exceptions. hvordan fanger jeg den?
jeg får fejlen: Test2.java:5: 'try' without 'catch' or 'finally'
Avatar billede arne_v Ekspert
12. marts 2003 - 15:40 #3
Du kan enten selv starte en Thread der sleeper og gør hvad den skal.

Eller du kan bruge java.util.Timer til at starte en thread med
der er scheduleret til at vågne på bestemte tidspunkter.

TUI er jo bare System.out.println.

GUI skal du have lavet noget som kan opdatere en label eller
lignende (har du overvejet en progress bar ?).
Avatar billede repsak Nybegynder
12. marts 2003 - 15:40 #4
nåh jo min fejl:

try{
for(int i=1 ; i<=10;  i++){
System.out.println(i);
Thread.sleep(700); //milisekunder
}
catch(InterruptedException e){}
Avatar billede arne_v Ekspert
12. marts 2003 - 15:42 #5
Thread.sleep kald skal anbringes i en try catch:

try {
  Thread.sleep(n);
} catch (InterruptedException ex) {
  // et eller andet
}

medmindre din metode er erklæret til at throwe den exception.
Avatar billede kamak Praktikant
12. marts 2003 - 15:49 #6
Indtil videre har jeg med jeres hjælp skrevet følgende kode der ikke virker:

class Test2
{
    public static void main (System[] Args)
    {

        try{
                for(int i=1 ; i<=10;  i++)
                {
                    System.out.println(i);
                    Thread.sleep(700); //milisekunder
                }
                catch(InterruptedException e){}
            }   
    }
}
Avatar billede repsak Nybegynder
12. marts 2003 - 15:51 #7
Indtil videre har jeg med jeres hjælp skrevet følgende kode der ikke virker:

class Test2
{
    public static void main (System[] Args)
    {

        try{
                for(int i=1 ; i<=10;  i++){
                    System.out.println(i);
                    Thread.sleep(700); //milisekunder
                }
}                catch(InterruptedException e){}
    }
}

try{
bla...
}
catch(Exception e){
bla...
}
Avatar billede kamak Praktikant
12. marts 2003 - 15:51 #8
hvad er forkert? pyt med GUI'en so far. kan jeg få det her til at virke kan jeg sikkert også få det til at virke i GUI'en (håber jeg)
Avatar billede roo104 Nybegynder
12. marts 2003 - 15:55 #9
prøv det her det virker:

public class TimerSleep {
   
    public static void main(String[] args) {
        try{
            for(int i=1 ; i<=10; i++){
            System.out.println(i);
            Thread.sleep(700); //milisekunder
            }

            }
            catch (Exception e) {
                System.err.println(e);
            }
    }
}
Avatar billede roo104 Nybegynder
12. marts 2003 - 15:57 #10
Try bruges for at fange fejl der evt. opstår.
Exception e fangler alle fejl og System.err.println(e) udskriver dem.
Avatar billede arne_v Ekspert
12. marts 2003 - 16:02 #11
Du har erklæret din main forkert.

public class Test2 {
    public static void main(String[] args) {
        try {
            for (int i = 1; i <= 10; i++) {
                System.out.println(i);
                Thread.sleep(700); //milisekunder
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
Avatar billede arne_v Ekspert
12. marts 2003 - 16:03 #12
Og det kan godt betale sig at gøre lidt ud af sin indrykning.

Det gør koden meget nemmere at læse.
Avatar billede repsak Nybegynder
12. marts 2003 - 16:03 #13
Orp hvordan kunne jeg dog overse det... Copy/paste skal bruges med omtanke :)
Avatar billede repsak Nybegynder
12. marts 2003 - 16:06 #14
Helt enig, men det er lidt svært når man skriver direkte ind i en ikke-programmerings editor. Tab-knappen virker ikke efter hensigten herinde
Avatar billede kamak Praktikant
12. marts 2003 - 16:13 #15
ok :-) takker
Avatar billede arne_v Ekspert
12. marts 2003 - 16:19 #16
Med hensyn til indrykning og Eksperten så har jeg gode erfaringer
med at skrive koden i IDE, bruge hard tabs og copy paste.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Netcompany A/S

Managing Architect

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Netværksteknikere til design, drift og vedligehold ved Cyberdivisionen

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-Supporter til Svanemøllen

Capgemini Danmark A/S

SAP S/4HANA Business Controlling