Total de visualizações de página

sábado, 11 de dezembro de 2010

Implement a class Time that keeps track of time by keeping the hour, minutes and seconds Note: The object will keep the time in military format, in a 24 hour clock.

CS 120 Assignment #7

Project Specifications

1.      Implement a class Time that keeps track of time by keeping the hour, minutes and seconds Note: The object will keep the time in military format, in a 24 hour clock. 
2.      Remember to validate all values!
3.      Provide the following methods:
·        At least 2 constructors.
·        Provide accessor and mutators for all instance variables.
·        The toString() method will provide the time in military format.
·        Implement a method to provide the time in standard format using AM/PM.
·        Format the display to show two digits for minutes and seconds.
·        Provide a method timeOfDay() that returns the string “dawn”, “morning”, “afternoon”, “evening” or “night” depending on the time of the day.
·        Provide a method isMorning() that returns true if it is morning.
4.      Provide a test program that prompts the user for time values, creates an object and uses all methods.
5.      Provide documentation comments and your name in a comment.
 

Due Date

Submit all zipped files through blackboard.com no later than November 29 by 11:59 pm.
Item A7

>> View/Complete Assignment: A7
Item Solution
import java.text.DecimalFormat;  // used for number formatting
// This class maintains the time in 24-hour format
public class Time  {
   private int hour;     
   private int minute;   
   private int second;   
   public Time() { 
     setTime( 0, 0, 0 ); 
   }
   public Time( int h, int m, int s ) { 
     setTime( h, m, s ); 
   }
   public void setTime( int h, int m, int s ) {
       setHour( h );    
       setMinute( m );  
       setSecond( s );  
   }
   public void setHour( int h ) { 
     hour = ( ( h >= 0 && h < 24 ) ? h : 0 ); 
   }
   public void setMinute( int m ) { 
     minute = ( ( m >= 0 && m < 60 ) ? m : 0 );
   }
   public void setSecond( int s ) { 
     second = ( ( s >= 0 && s < 60 ) ? s : 0 ); 
   }
   public String toMilitary()
   {
      DecimalFormat twoDigits = new DecimalFormat( "00" );
      return twoDigits.format( hour ) + ":" +
             twoDigits.format( minute ) + ":" +
             twoDigits.format( second );
   }
   // Convert to String in standard-time format
   public String toString()
   {
      DecimalFormat twoDigits = new DecimalFormat( "00" );
      String str = "";
      
      str = ( hour == 12 || hour == 0 ) ? "12" : "" + (hour % 12);
      str = str + ":" + twoDigits.format( minute ) + ":" +
             twoDigits.format( second );
      
      str = str +  ( hour < 12 ? " AM" : " PM" );
      return str;
   }
   
   public String timeOfDay(){
     String str="";
     
     switch  ( hour ){
      case 1: case 2: case 3: case 4: case 5: 
       str = "dawn";
       break;
      case 6: case 7: case 8: case 9: case 10: case 11:
       str = "morning";
       break;
      case 12:
       str = "noon";
       break;
      case 13: case 14: case 15: case 16: case 17:
       str = "afternoon";
       break;
      case 18: case 19:
       str = "evening";
       break;
      default:
       str = "night";
      }
      
     return str;
    }
   public boolean isMorning(){
     return hour > 6 && hour < 12;
   }
   public boolean isMidday(){
     return hour == 12;
   }
   public boolean isEvening(){
     return hour > 18 && hour < 20;
   }   
}
import javax.swing.JOptionPane;
public class TimeTest {
   public static void main( String [] args )
   {
      Time t;
      String hour = JOptionPane.showInputDialog("Enter hour ");
      String minute = JOptionPane.showInputDialog("Enter minutes ");
      String second = JOptionPane.showInputDialog("Enter seconds ");
      
      t = new Time(Integer.parseInt(hour), Integer.parseInt(minute), Integer.parseInt(second) );
     System.out.println( "Military time: " + t.toMilitary() );
     System.out.println( "Standard time: " + t.toString() );
     System.out.println( "Time of Day: " + t.timeOfDay() );
     System.exit(0);
   }
}

OK

Nenhum comentário:

Postar um comentário