Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 09:56

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[JAVA]Kann man diese Methode vereinfachen?

Discussion on [JAVA]Kann man diese Methode vereinfachen? within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
South-Park's Avatar
 
elite*gold: 65
Join Date: Apr 2010
Posts: 2,651
Received Thanks: 509
[JAVA]Kann man diese Methode vereinfachen?

Die funktioniert zwar tadellos, schaut aber ein wenig kompliziert aus^^ (Ja, ich hab die selber gebaut) Bzw wenig unleserlich, was da genau abgeht. Hat jemand nen Vorschlag, wie man das vereinfachen könnte?
Code:
/**
     * It formats a specified Time in milliseconds to Format HH:MM:SS
     * 
     * @param milliseconds Time in Milliseconds which have to get formatted
     * @return Returns the Milliseconds in Format HH:MM:SS
     */
    public String getFileTimeFormatted(long milliseconds) {
        long time = milliseconds;
        long minutenZehner = 0;
        long minutenEiner;
        long sekundenZehner = 0;
        long sekundenEiner;
        long stunden, minuten, sekunden;
        String gesamtLänge;

        sekunden = TimeUnit.MILLISECONDS.toSeconds(time);
        minuten = TimeUnit.MILLISECONDS.toMinutes(time);
        stunden = TimeUnit.MILLISECONDS.toHours(time);

        sekundenEiner = sekunden;
        while (sekundenEiner >= 10) {
            sekundenZehner = (sekundenEiner / 10);
            sekundenEiner = (sekunden - (sekundenZehner * 10));
        }

        minutenEiner = minuten;
        while (minutenEiner >= 10) {
            minutenZehner = (minutenEiner / 10);
            minutenEiner = (minuten - (minutenZehner * 10));
        }
        while (minutenZehner >= 6) {
            minutenZehner -= 6;
        }
        while (sekundenZehner >= 6) {
            if (minutenEiner > 0) {
                sekundenZehner = sekundenZehner - minutenEiner * 6;
                if (sekundenZehner < 0) {
                    sekundenZehner = 0;
                }
            } else {
                sekundenZehner = 0;
            }
        }
        if (stunden > 0) {
            gesamtLänge = stunden + ":" + minutenZehner + minutenEiner + ":" + sekundenZehner + sekundenEiner;
        } else if (minutenZehner == 0 && stunden <= 0) {
            gesamtLänge = "0" + minutenEiner + ":" + sekundenZehner + sekundenEiner;
        } else {
            gesamtLänge = minutenZehner + minutenEiner + ":" + sekundenZehner + sekundenEiner;
        }
        return gesamtLänge;
    }
Ich blick da zwar durch, aber ohne die Doc darüber hats bis jetzt nur einer verstanden, der sich die Methode angeguckt hat :P
South-Park is offline  
Old 08/25/2013, 04:22   #2
 
'Aleo's Avatar
 
elite*gold: 175
Join Date: Jun 2013
Posts: 157
Received Thanks: 44
Bei solchen Variablen ist es auch kein Wunder, dass man nicht durchblickt.
'Aleo is offline  
Old 08/25/2013, 05:25   #3
 
South-Park's Avatar
 
elite*gold: 65
Join Date: Apr 2010
Posts: 2,651
Received Thanks: 509
Wieso denn?

Wenn es doch im HH:MM:SS Format raussoll, ist das erste doch der Zehner und das zweite der Einer...
South-Park is offline  
Old 08/25/2013, 10:56   #4
 
elite*gold: 0
Join Date: Jun 2012
Posts: 8
Received Thanks: 3
Hi,
also entweder die einer und zehner Stellen mit modulo errechnen.
PHP Code:
sekundenEiner sekunden 10;
sekundenZehner = (sekunden 10) % 6
(Stunde, Minute analog dazu)

oder noch einfacher:
PHP Code:
    public static String getFileTimeFormatted(long time) {
        
byte hour = (byte) (TimeUnit.MILLISECONDS.toHours(time)%24);
        
byte min = (byte) (TimeUnit.MILLISECONDS.toMinutes(time)%60);
        
byte sec = (byte) (TimeUnit.MILLISECONDS.toSeconds(time)%60);
        return ((
hour<10)?"0"+hour:hour)+":"+((min<10)?"0"+min:min)+":"+((sec<10)?"0"+sec:sec);
    } 
btw, wenn man sich den Umweg über TimeUnit.MILLISECONDS.to....(time) sparen will, dann kann alles auch manuel ausrechnen.
PHP Code:
byte hour = (byte) ((time / (1000 60 60)) % 24);
byte min = (byte) ((time / (1000 60)) % 60);
byte sec = (byte) ((time 1000) % 60); 
DaKku0815 is offline  
Old 08/27/2013, 22:31   #5
 
South-Park's Avatar
 
elite*gold: 65
Join Date: Apr 2010
Posts: 2,651
Received Thanks: 509
Das ende der verinfachung ist btw das da:
Code:
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        Date dates = new Date(time);
        sdf.setTimeZone(TimeZone.getTimeZone("EN"));
System.out.println(sdf.format(dates));
Und ich reg mich so auf :P

Ich belass es aber bei meiner Version, da die da oben hässliche nullen hat, die meine automatisch wegkürzt
South-Park is offline  
Reply


Similar Threads Similar Threads
[Selling] [E-Book] Private Ebay-Methode mit der man locker 500€ / Tag machen kann
07/02/2013 - Trading - 6 Replies
Hallo Leute, hiermit verkaufe ich ein selbstverfasstes E-Book mit einer Methode, mit der ich persönlich schon über 500€ in etwa einer Woche verdient habe. Diese Methode ist einmalig und wurde noch nirgends veröffentlicht, weiterhin ist dies eine legale Methode. Das ganze läuft über ebay, man sollte daher schon einen Account dort besitzen, bzw. einen neuen dort erstellen. Mehr Informationen hierzu gebe ich nicht. Es sei nur gesagt, dass man - sofern ein Gehirn vorhanden ist - auf jeden Fall...
Java Problem mit einer Methode
10/21/2011 - General Coding - 4 Replies
Hi, ich habe hier ein Problem mit der Methode umdrehen... sie funktioniert nicht und ich weiß nicht was man da noch machen könnte public class Zahlenarray { private int zahlen; public Zahlenarray() { zahlen = new int; for(int i = 0; i<5;i++) { zahlen = (int)(Math.random()*10+0);
kann einer mit java programmieren?
02/22/2011 - General Coding - 1 Replies
Hi leute, seit neustem bin ich sehr oft online in knuddels. Ich hab mal versucht per handy auf die seite zu connecten (n97 mini & f480i) Ich komme bis zum log-in aber da geht es nicht wegen dem Java. Kann einer für beide handy's ein java-applet programmieren (.jar) wo mit man in den chat connecten kann so wie bei ebuddy halt für knuddels. MfG .DowN
[FRAGE]Wie kann man diese Datei in diese Convertieren ?
05/26/2010 - Metin2 Private Server - 0 Replies
Hallo, ich möchte gerne ein Video machen über Metin2, doch ich hab`s im Adobe After Effects gemacht, und wenn man dies abspeichert ist die Endung: .aep Dies will ich aber nicht, ich will sie in eine Lesbare Datei für den Media Player / Youtube machen :) Könnt ihr mir helfen ? Ich habs auch schon mit Export versucht. MfG xWolfi
Funktioniert diese Speedhack Methode noch ?
08/30/2009 - World of Warcraft - 1 Replies
Hallo Ich hatte mir vor ca. einem Jahr einen World of Warcraft Speedhack geschrieben, indem ich die performancecounter gehooked habe. Also eigentlich ganz schlicht. Damals funktionierte diese Methode auch problemlos, da Blizzard keine detections dagegen hatte. Wie sieht das jetzt aus ? Weiss jemand, ob blizzard mittlerweile etwas gemacht hat ? Serverseitige Speedüberwachung des charakters oder so ? Gibt ja sogar auf Privateservern schon solche detection-methoden ^^. danke



All times are GMT +2. The time now is 09:56.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.