tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von sheel
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
535
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    angelikamorgan angelikamorgan ist offline Mitglied Silber
    Registriert seit
    Sep 2003
    Beiträge
    89
    Hallo Zusammen,

    obwohl mein Anliegen sehr einfach klingt, habe ich große Probleme mit der Umsetzung

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    public class Test {
        public static void main(String[] args) {
        
            double ankunft = 5.00;
            double abfahrt = 8.00;
            double pause = 0.30;
            
            double dauer = abfahrt-ankunft-pause;
            
            // Anzeige: 2.70 <-- hätte gerne 2.30
            System.out.println(dauer);
        }
    }

    Erklärung des Beispiel:
    Wenn ich um 5 ankomme und um 8 abfahre, habe ich 3h gearbeitet. Wenn ich 0.30 Minuten Pause mache, habe ich 2.30h gearbeitet. Die Anwendung gibt natürlich 2.70 aus statt 2.30.

    Ich habe keine Idee, wie ich dass rechnen kann?! *peinlich*
    Habs mit Calender versucht, aber Calendar akzeptiert nur int.


    Grüße,
    Angelika
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.490
    Hi

    Naja, 30 Minuten wären ja eigentlich auch 0.5 Stunden...
    Ob das Komma als Zeittrennzeichen so sinnvoll ist?

    Wenn es so bleiben soll, zuerst alles in Minuten umrechnen,
    subtrahieren, und wieder zu hh.mm umrechnen.

    hh.mm -> Minuten:
    Code java:
    1
    2
    3
    4
    
    double x;
    ...
    int y = (int)(x * 100.0);
    y = ((y / 100) * 60) + (y % 100);

    Minuten -> hh.mm
    Code java:
    1
    2
    3
    
    int x;
    ...
    double y = ((double)(x / 60)) + (((double)(x % 60)) / 100.0);
    Ungetestet.

    Trotzdem gibt es noch Probleme, wenn zB. Mitternacht dazwischen ist...
    Calendar wäre in jedem Fall sinnvoller.
    Die ints sind Timestamps, also wieviel Sekunden seit 1.1.1970 vergangen sind.
    Hat aber genug Umrechnungsmöglichkeiten
    von normalen Zeiten zu Timestamps und umgekehrt.

    Gruß
    angelikamorgan bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    angelikamorgan angelikamorgan ist offline Mitglied Silber
    Registriert seit
    Sep 2003
    Beiträge
    89
    Vielen Dank sheel!
     

Ähnliche Themen

  1. Erste Schritte mit HDR
    Von thekiller im Forum Bildbearbeitung & Illustration
    Antworten: 21
    Letzter Beitrag: 29.07.08, 20:05
  2. Erste Schritte
    Von schildkloete im Forum Fotografie
    Antworten: 1
    Letzter Beitrag: 14.06.08, 11:46
  3. Nur ein Viertel vorladen
    Von knallbernd im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 13.10.05, 23:33