Stunden/Tage Countdown

Scar3

Mitglied
Java:
[/B]
package Countdown;
import java.sql.Time;
import javax.swing.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;
import java.time.format.DateTimeFormatter; 
import java.time.LocalDateTime;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.lang.module.ModuleDescriptor.Opens;
public class Countdown extends Frame implements MouseListener {
        public static void main(String[] args) {   
       
        long days;

            Scanner in = new Scanner(System.in);

            System.out.println("Please enter fasting days:");
            days = in.nextInt();

            long hours = days * 24;

            System.out.println(hours + " h");
            Time time = new Time(hours);
            System.out.println("Hours remaining:");
            System.out.println(hours);
            DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); 
               LocalDateTime now = LocalDateTime.now(); 
               System.out.println(dtf.format(now)); 
              
    }
 

Das war der Anfang, der funktioniert, aber jetzt bekomme ich es nicht hin, dass es in Intervallen ausgibt, wieviele Stunden noch übring sind / oder wie viele Stunden von dem Wert (hours) schon vergangen sind. Sorry für die blöde Frage, aber ich finde einfach nichts dazu.
 

Jw456

Top Contributor
Ok du hast einem Timer Objekt erstellt.
Inizalisiren und starten tust du ihm nicht.
Dein Timer läuft garnich.

Edit
Ok du hast gar keinen Timer nur ein Time Objekt.
 
Zuletzt bearbeitet:

Scar3

Mitglied
Ok du hast einem Timer Objekt erstellt.
Inizalisiren und starten tust du ihm nicht.
Dein Timer läuft garnich.

Edit
Ok du hast gar keinen Timer nur ein Time Objekt.
Ja, ich verstehe nicht wie ich einen Timer starten kann. mit public void run() funktioniert es nicht. Da steht dann immer "record was expected". Einen Timer kann ich ja so erstellen Timer timer = new Timer(); oder?
 

Jw456

Top Contributor
Google hilft.

Nur wirst du damit nicht dein Ziel einer Status Ausgabe. Schaue dir später andere Beispiele an.
 

Jw456

Top Contributor
Für einen contown der die min oder sec ständig actulisirt soltest du dich mit thread beschäftigen.

Denn ein klassischer Timer gibt dir keine Status Info. Hat kein progres.
Also selber machen mit Threads würde ich sagen.
 

Jw456

Top Contributor

Scar3

Mitglied
Java:
[/B]
package Countdown;

import java.awt.Color;
import java.awt.FlowLayout;
import java.sql.Time;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;

import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.WindowConstants;

public class MyFrame extends JFrame{
JProgressBar jpb;

public MyFrame(){
setLayout(new FlowLayout());
setSize(400,400);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jpb=new JProgressBar(JProgressBar.HORIZONTAL,0, 100);
//jpb=new JProgressBar(); is enough.
//In that case, Default values for parameters are same as above
jpb.setForeground(Color.RED);//set foreground color of progressbar
jpb.setStringPainted(true);//to show a string on jpb (by default it is percent)
jpb.setBackground(Color.BLACK);//set background color of progressbar
add(jpb);
ProgressUpdate.start();//starting the timer thread
}

public static void main(String args[])
{
new MyFrame().setVisible(true);
}
//creating a Thread (for timer) within the MyFrame class
Thread ProgressUpdate=new Thread()
{
public void run()
{
    long days;

    Scanner in = new Scanner(System.in);

    System.out.println("Please enter fasting days:");
    days = in.nextInt();

    long hours = days * 24;

    System.out.println(hours + " h");
    Time time = new Time(hours);
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");  
       LocalDateTime now = LocalDateTime.now();  
       System.out.println(dtf.format(now));
    System.out.println("Please enter Start Time:");
    long starttd;
    starttd = in.nextInt();
    long predict = starttd + hours;
    long remaining2 = predict - starttd;
    System.out.println("Hours remaining:" + remaining2);
    System.out.println(hours);
    
}
};[/B]
 [B]}
[B]


Das habe ich jetzt so, dann kommt dieser Fehler:
Please enter Start Time:
12:52
Exception in thread "Thread-0" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:943)
at java.base/java.util.Scanner.next(Scanner.java:1598)
at java.base/java.util.Scanner.nextInt(Scanner.java:2263)
at java.base/java.util.Scanner.nextInt(Scanner.java:2217)
at Countdown.MyFrame$1.run(FastingCountdown.java:56)

Und kann jemand mir etwas empfehlen, wo ich alles über Java lernen kann, weil ich will euch hier nicht dauernd nerven mit meinen Anfänger Fragen...
 

Jw456

Top Contributor
Hallo was soll im Thread (Run Methode ) der Scanner die Eingabe?
Die wurde somit immer wider wiederholt zweitens sollte man einen Scanner wenn er nicht mehr gebraucht wird wider schlissen.
Die Eingabe vom User muss außerhalb vom Thread sein.

Hier ein einfaches Beispiel mit Ausgabe der sek auf die Konsole. Es wird von 60 sek runter gezählt.
Java:
public class Main {
   
    int time;
   
    public static void main(String[] args) {
   
        Main main = new Main();
       
        main.time = 60; //1 min=60 seconds
        main.ProgressUpdate.start();
    }
   
    Thread ProgressUpdate = new Thread()    {
       
        public void run(){
            for(int i= time ; i>0; i--)  {
                try {
                        Thread.sleep(1000);  //Thread sleep for 1 sec
                        System.out.println(i);
                 } catch (Exception ex) {}
                   
            }
        }
    };
   
}
 

Neumi5694

Top Contributor
Java:
[/B]
package Countdown;

import java.awt.Color;
import java.awt.FlowLayout;
import java.sql.Time;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;

import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.WindowConstants;

public class MyFrame extends JFrame{
JProgressBar jpb;

public MyFrame(){
setLayout(new FlowLayout());
setSize(400,400);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jpb=new JProgressBar(JProgressBar.HORIZONTAL,0, 100);
//jpb=new JProgressBar(); is enough.
//In that case, Default values for parameters are same as above
jpb.setForeground(Color.RED);//set foreground color of progressbar
jpb.setStringPainted(true);//to show a string on jpb (by default it is percent)
jpb.setBackground(Color.BLACK);//set background color of progressbar
add(jpb);
ProgressUpdate.start();//starting the timer thread
}

public static void main(String args[])
{
new MyFrame().setVisible(true);
}
//creating a Thread (for timer) within the MyFrame class
Thread ProgressUpdate=new Thread()
{
public void run()
{
    long days;

    Scanner in = new Scanner(System.in);

    System.out.println("Please enter fasting days:");
    days = in.nextInt();

    long hours = days * 24;

    System.out.println(hours + " h");
    Time time = new Time(hours);
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");  
       LocalDateTime now = LocalDateTime.now();  
       System.out.println(dtf.format(now));
    System.out.println("Please enter Start Time:");
    long starttd;
    starttd = in.nextInt();
    long predict = starttd + hours;
    long remaining2 = predict - starttd;
    System.out.println("Hours remaining:" + remaining2);
    System.out.println(hours);
    
}
};[/B][/B][/B]
 [B][B][B]}
[B]


Das habe ich jetzt so, dann kommt dieser Fehler:
Please enter Start Time:
12:52
Exception in thread "Thread-0" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:943)
at java.base/java.util.Scanner.next(Scanner.java:1598)
at java.base/java.util.Scanner.nextInt(Scanner.java:2263)
at java.base/java.util.Scanner.nextInt(Scanner.java:2217)
at Countdown.MyFrame$1.run(FastingCountdown.java:56)

Und kann jemand mir etwas empfehlen, wo ich alles über Java lernen kann, weil ich will euch hier nicht dauernd nerven mit meinen Anfänger Fragen...

Das Einlesen muss VOR dem Starten des Threads/Timers passieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Anzahl von Stunden / Tage von zwei Datumswerten ermitteln Java Basics - Anfänger-Themen 1
T Jahre, Monate, Tage, Stunden, Minuten Java Basics - Anfänger-Themen 1
DStrohma Millisekunden umwandeln in Jahre, Monate, Tage, Stunden Java Basics - Anfänger-Themen 5
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
K 12- Stunden Konverter Programmieren Java Basics - Anfänger-Themen 1
W OOP Objektorientiert: Darstellung von Uhrzeiten im 24-Stunden-Format Java Basics - Anfänger-Themen 15
M Wie erzeuge ich die Differenz von zwei Daten in Stunden?? Java Basics - Anfänger-Themen 2
D rechnen mit Stunden und Minuten Java Basics - Anfänger-Themen 14
Dit_ Funktion alle 24 Stunden ein mal aufrufen Java Basics - Anfänger-Themen 3
T Von Millisekunden auf Stunden kommen Java Basics - Anfänger-Themen 2
W OOP Datum aus Access in Textfeld schreiben ohne Stunden/Minuten/Sekunden Java Basics - Anfänger-Themen 2
K Stunden zusammen Rechnen Java Basics - Anfänger-Themen 4
P (Arbeitstag-) Calendar - 9 anstatt 24 Stunden Java Basics - Anfänger-Themen 12
D Timer alle 2 Stunden Java Basics - Anfänger-Themen 7
G Stunden und Minuten Java Basics - Anfänger-Themen 11
U 12 Stunden Uhrenanzeige realiesieren in BlueJ! Java Basics - Anfänger-Themen 28
TRunKX Probleme mit der Zeit (Stunden Sekunden) Java Basics - Anfänger-Themen 7
M Stunden, Minuten, Sekunden als Integer-Variablen, wie? Java Basics - Anfänger-Themen 2
sserio Gregorianischer Kalender und dessen Tage. Java Basics - Anfänger-Themen 14
B Programm, dass alle 3 Tage eine Webseite öffnet? Java Basics - Anfänger-Themen 20
M Rekursion Tage Ansteckung gesamte Bevölkerung Java Basics - Anfänger-Themen 15
M Wochentag ermittel und ggf tage abziehen Java Basics - Anfänger-Themen 4
Bluedaishi Einen Betrag X auf X Tage verteilen Java Basics - Anfänger-Themen 14
H Datentypen Tage zwischen zwei Datums berechnen Java Basics - Anfänger-Themen 4
P Wieviele Tage seit dem Datum vergangen sind Java Basics - Anfänger-Themen 5
S Erste Schritte Tage zwischen 2 Daten berechnen Java Basics - Anfänger-Themen 6
F Für Abgabe vor Feiertagen 3 Tage für Abholung hinzuaddieren Java Basics - Anfänger-Themen 19
S Ein Jahr hat 363,7 Tage ? Java Basics - Anfänger-Themen 2
S Methoden Tage zwischen 2 Daten Java Basics - Anfänger-Themen 19
P System - Tage erkennen ( System Time ?) Java Basics - Anfänger-Themen 3
G maximale Anzahl der Tage im Monat Java Basics - Anfänger-Themen 18
R Tage subtrahieren von einem Date() Java Basics - Anfänger-Themen 6
A GregorianCalendar heute + X Tage Java Basics - Anfänger-Themen 11
S Tage aus zwei Datumsangaben berechnen Java Basics - Anfänger-Themen 3
T Tage Zahlen zuordnen Java Basics - Anfänger-Themen 24
T tage in monate und jahre Java Basics - Anfänger-Themen 9
H Dates "Tage" auf gleichheit prüfen? Java Basics - Anfänger-Themen 4
H Anzahl der Tage von Monat ausgeben Java Basics - Anfänger-Themen 7
N Tage in Jahre, Monate umrechnen Java Basics - Anfänger-Themen 1
B Errechnen(Jahre Monate Tage)von einem Datum zu einem anderen Java Basics - Anfänger-Themen 3
A Verständnisfrage Sekunden/Tage Umrechnung Java Basics - Anfänger-Themen 3
I Tage ermitteln Java Basics - Anfänger-Themen 4
G Altersberechnung falsch auf 1-2 Tage Java Basics - Anfänger-Themen 3
G Differenz in Tage Java Basics - Anfänger-Themen 3
T Bestimmte Tage ausschließen Java Basics - Anfänger-Themen 6
T Datum+ 100 Tage Java Basics - Anfänger-Themen 23
M wieviele Tage der Monat X hat Java Basics - Anfänger-Themen 2
S zu einem Datum Tage addieren Java Basics - Anfänger-Themen 2
W Tage im Monat Java Basics - Anfänger-Themen 3
S Calendar.set Time, Ermittlung der Anzahl Tage fehlerhaft Java Basics - Anfänger-Themen 9
X 14-Tage Testversion erstellen? Java Basics - Anfänger-Themen 15
U tage ausrechnen Java Basics - Anfänger-Themen 4
G HILFE!!! JEDER MONAT HAT 31 TAGE Java Basics - Anfänger-Themen 2
J Datum, Tage herausfinden Java Basics - Anfänger-Themen 2
B Mit Countdown Midnestdauer für Teilaufgabenerledigung erzwingen Java Basics - Anfänger-Themen 8
T Countdown erstellen Java Basics - Anfänger-Themen 7
T Countdown funktioniert nicht Java Basics - Anfänger-Themen 5
W Threads 1h 20min Countdown Java Basics - Anfänger-Themen 5
J Countdown Java Basics - Anfänger-Themen 3
D Erste Schritte Countdown mehrfach verwenden Java Basics - Anfänger-Themen 5
F countdown Java Basics - Anfänger-Themen 5
G Countdown von Heute bis Zieldatum Java Basics - Anfänger-Themen 4
N Countdown Java Basics - Anfänger-Themen 4
W Countdown auf "schwarze Blöcke" Java Basics - Anfänger-Themen 3
F Countdown und dann Aktion Java Basics - Anfänger-Themen 4
S Countdown 5min bis 0sek Java Java Basics - Anfänger-Themen 10
C countdown/timer/Zeit warten lassen Java Basics - Anfänger-Themen 14
D Countdown Funktion aus SQl Datenbank Java Basics - Anfänger-Themen 21
N countdown zähl problem Java Basics - Anfänger-Themen 5
O Countdown mit Erhöhung Java Basics - Anfänger-Themen 2
H Countdown Java Basics - Anfänger-Themen 10
T Countdown, der in der selben Zeile bleibt Java Basics - Anfänger-Themen 6
D Timer bzw. Countdown Java Basics - Anfänger-Themen 3
T countdown Methode mit Timer Java Basics - Anfänger-Themen 2
F Countdown Probleme Java Basics - Anfänger-Themen 9
R Countdown erstellen Java Basics - Anfänger-Themen 3
S Countdown auf JPanel ausgeben Java Basics - Anfänger-Themen 6
M Countdown in Java Java Basics - Anfänger-Themen 16
B Countdown zwischen 2 Zeitpunkten Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben