Tassos icon

Δημιουργία αντικειμένου Time σε Java.

Tassos | PRO | 03/16/15 10:18:43 PM UTC | 0 ⭐ | 455 👁️ | Never ⏰ | []
Java |

7.66 KB

|

None

|

0 👍

/

0 👎

{                                      Visit:   http://g-lts.info/  for more code!                            }
 
package time;
 
//import persons.Person;
 
 
class Time
{
    private int hour,minute, second;
    
    
    /* Κατασκευαστής.*/
    
    public Time(int h, int m, int s)
    {
        hour = h ;
        minute = m ;
        second = s;
    }
    
    /* Τέλος κατασκευαστή.*/
    
    
    /* ================================================================== */
    /* Μέθοδοι set : */
    
    
    public boolean setHour(int h )
    { // Θέτει την ώρα ελέγχοντας την όμως. 
        if ( h < 0 || h > 23 ) // Αν ΔΕΝ είναι στο διάστημα [0 - 23].
            return false;
 
        hour = h; // Αν είναι στο σωστό διάστημα τότε το δεχόμαστε.
        return true; // :)
    }
    
    
    public boolean setMinute(int m)
    { // Θέτει τα λεπτά ελέγχοντάς τα όμως.
        if ( m < 0 || m > 59 ) // Αν ΔΕΝ είναι στο διάστημα [0 - 59].
            return false;
            
        minute = m; // Αν είναι στο σωστό διάστημα τότε το δεχόμαστε.
        return true;
    }
 
 
 
    public boolean setSecond(int s)
    { // Θέτει τα δευτερόλεπτα ελέγχοντάς τα όμως.
        if ( s < 0 || s > 59 ) // Αν ΔΕΝ είναι στο διάστημα [0 - 59].
            return false;
            
        second = s; // Αν είναι στο σωστό διάστημα τότε το δεχόμαστε.
        return true;
    }
    
    
    
    /* Τέλος των μεθόδων set . */
    /* ================================================================== */
    /* Μέθοδοι get : */
    
    
    public int getHour()
    {
        return hour;
    }
 
    
 
    public int getMinute()
    {
        return minute;
    }
 
 
 
    public int getSecond()
    {
        return second;
    }
 
    /* Τέλος των μεθόδων get . */
    
    /* ================================================================== */
    
    public int toSeconds()
    { // Μετατρέπει την ώρα σε δευτερόλεπτα.
        int total = 0;
        total = total + second; // Προσθέτουμε αρχικά τα δευτερόλεπτα στα "συνολικά δευτερόλεπτα".
        total = total + minute * 60; // Μετατρέπουμε τα λεπτά σε δευτερόλεπτα (minute * 60) και τα προσθέτουμε και αυτά στο σύνολο.
        total = total + hour * 3600; // Μετατρέπουμε τις ώρες σε λεπτά (hour * 3600) και τις προσθέτουμε στο σύνολο.
        return total; // Τέλος επιστρέφουμε τα συνολικά λεπτά.
    }
 
 
 
    public int countMidnight()
    {// Επιστρέφει τα δευτερόλεπτα που υπολείπονται μέχρι το πέρας της ημέρας.
        int count1 = toSeconds(); // Μετατρέπουμε καταρχήν των τρέχουσα ώρα σε δευτερόλεπτα.
        int count2 = 24 * 3600; // Μετατρέπουμε την τελευταία ώρα της ημέρας σε δευτερόλεπτα.
        return count2-count1; // Αφαιρούμε από τα μεσάνυχτα την τρέχουσα ώρα και βλέπουμε - επιστρέφουμε τι απομένει.
    }
 
    
    
    public void print12()
    {// Επιστρέφει την ώρα σε 12ωρη μορφή.
        if ( hour > 12 ) // Αν είναι πάνω από 12 η ώρα, αφαιρούμε από την τρέχουσα ώρα 12.
            System.out.println( hour-12 + ":" + minute + ":" + second + " μ.μ" );
        else // Διαφορετικά οκ όλα είναι μια χαρά. ;)
            System.out.println( hour + ":" + minute + ":" + second + " π.μ" );
    }
 
 
 
    public void print24()
    { // Απλώς εμφανίζει την ώρα.
        System.out.println( hour + ":" + minute + ":" + second );
    }
    
    
    
    public void prevSecond()
    { // Πάμε την τρέχουσα ώρα 1 δευτερόλεπτο πίσω.
        --second; // Αφαιρούμαι απλά 1 δευτερόλεπτο.
        if ( second == -1 ) // Αν ήταν στο 0 όμως και πάει στο -1 ( δε το θέλουμε αυτό ) :
        {
            second = 59; // Έτσι ορίζουμε τα δευτερόλεπτα να έχουν τιμή 59 και όχι -1.
            --minute; // Όμως έτσι εννοείται πως πάμε και ένα λεπτό πίσω. ;)
            
            if ( minute == -1 ) // Αν τα λεπτά ήταν στο 0 όμως και πάει στο -1 ( δε το θέλουμε αυτό ) :
            {
                minute = 59; // Έτσι ορίζουμε τα λεπτά να έχουν τιμή 59 και όχι -1.
                hour--; // & έτσι εννοείται όμως πως πάμε και μια ώρα πίσω. ;)
                
                if ( hour == -1 ) // Αν όμως και η ώρα ήταν στο 0 και πάει στο -1, τότε : 
                {
                    hour = 23; // ορίζουμε πως η ώρα θα είναι 23 .
                }
            }
        }
    }
 
 
        
    public void nextSecond()
    { // Πάμε 1 δευτερόλεπτο μπροστά.
 
        ++second; // Προσθέτουμε απλώς 1 δευτερόλεπτο στην ιδιότητα του αντικειμένου μας.
 
        if ( second == 60 ) // Αν τα δευτερόλεπτα όμως γίνουν 60 ( δε το θέλουμε αυτό ) :
        {
            minute++; // Αυτό σημαίνει πως πάμε τελικά 1 λεπτό εμπρός ( χάρης του ενός δευτερολέπτου )
            second = 0; // και τα δευτερόλεπτα εννοείται μηδενίζονται.
            
            if ( minute == 60 ) // Αν τα λεπτά όμως γίνουν 60 ( δε το θέλουμε αυτό ) :
            {
                hour++; // Τότε τελικά πάμε μια ώρα εμπρός
                minute = 0; // και τα λεπτά μηδενίζονται.
                
                if ( hour == 24 ) // Τέλος αν η ώρα γίνει 24 ( πράγμα το οποίο δε το θέλουμε )
                {
                    hour = 0; // Η ώρα μηδενίζει. :)
                }
            }
        }
    }
 
    
    
    
    
    
    
    
    
    
}
 
 
 
/* ************************************* Main ************************************* */
 
 
 
 
public class Main {
 
    public static void main (String[] args)
    {
        
        Time t1 = new Time(23,59,59); /* Δημιουργία του αντικειμένου t1 τύπου Time. */
        Time t2 = new Time(22,59,59); /* Δημιουργία του αντικειμένου t2 τύπου Time. */
        // Δημιουργούμε το αντικείμενο t1 και θέτουμε απευθείας την ώρα.
        // Δημιουργούμε το αντικείμενο t2 και θέτουμε απευθείας την ώρα.
        
        
        t1.print12(); // Εμφανίζουμε την ώρα σε 12ωρη μορφή.
        
        t2.print24(); // Εμφανίζουμε την ώρα σε 24ωρη μορφή.
        
        System.out.println("Η ώρα άλλαξε. ");
        
        t2.nextSecond(); // Πάμε 1 sec μπροστά.
        
        t2.print24();// Εμφανίζουμε την ώρα σε 24ωρη μορφή.
        
        System.out.println("Προς τα κάτω. ");
 
        
        t2.prevSecond(); // Αφαιρούμε 1 sec από την τρέχω ώρα του t2.
        
        t2.print24(); // Εμφανίζουμε την ώρα σε 24ωρη μορφή.
        
        
        System.out.println( "Η t1 απέχει από τα μεσάνυχτα : " + t1.countMidnight() );
        System.out.println( "Η t2 απέχει από τα μεσάνυχτα : " + t2.countMidnight() );
 
        
    }
    
    
    
}
 
 
 
{                                      Visit:   http://g-lts.info/  for more code!                            }

Comments