- #1
Albert12
- 9
- 0
How to display days in order for my clock :
I don't know how to do that. Con some pody help me out?
I have problem in this code ,I couldn't figure out method to display days in order:
Here entyer the cod for my homework :
my currently result is
Code:
Thursday, 12:00 pm
Thursday, 2:30 pm
Friday, 12:15 am
Friday, 12:15 am
Thursday, 2:30 pm
Saturday, 2:30 pm
I don't know how to do that. Con some pody help me out?
I have problem in this code ,I couldn't figure out method to display days in order:
Code:
public void advance(int m){
int totalminutes = (hours*60)+(minutes+m);
hours = (totalminutes/60)%24;
minutes=totalminutes%60;
day_of_week=totalminutes%9;
}
public void reverse(int m){
int totalminutes = (hours*60)-(minutes-m);
hours = (totalminutes%24)/60;
minutes=totalminutes%60;
day_of_week=totalminutes%14;
}
Code:
package clockdriver;
/**
*
* @author
*/
public class ClockDriver {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Clock MyClock = new Clock("Thursday", 12,0); // Instantiate a clock object
System.out.println(MyClock); // Should display: Thursday, 12:00 p.m.
System.out.println(); // print blank line
MyClock.advance(150); // advance time 150 minutes (2 hours 30 minutes)
System.out.println(MyClock); // Should display: Thursday, 2:30 p.m.
System.out.println();
MyClock.advance(585); // advance time by 585 minutes (9 hours 45 minutes)
System.out.println(MyClock); // Should display: Friday, 12:15 a.m.
System.out.println();
MyClock.advance(10080); // advance time by 10080 minutes (7 days)
System.out.println(MyClock); // Should display: Friday, 12:15 a.m.
System.out.println();
MyClock.reverse(585); // reverse time by 585 minutes (9 hours 45 minutes)
System.out.println(MyClock); // Should display: Thursday, 2:30 p.m.
System.out.println();
MyClock.reverse(17280); // reverse time by 17280 minutes (12 days)
System.out.println(MyClock); // Should display: Saturday, 2:30 p.m.
System.out.println();
} // end of main
} // end of class ClockDriver
class Clock{
/***************************************************************
* Objects of this class represent time (in hours and minutes) *
* The time data is stored in 24 hour (HHMM military format) *
***************************************************************/
private int day_of_week; // valid range of values is 1 thru' 7
private int hours; // range of values is 0 thru' 23
private int minutes; // range of values is 0 thru' 59
private static final String[] Days={"Saturday","Sunday","Monday","Tusday","Wensday","Thusday","Friday",};
public Clock(String S, int h, int m){
day_of_week = Integer.parseInt("6");
hours=0;
minutes=0;
}
public void advance(int m){
int totalminutes = (hours*60)+(minutes+m);
hours = (totalminutes/60)%24;
minutes=totalminutes%60;
day_of_week=totalminutes%9;
}
public void reverse(int m){
int totalminutes = (hours*60)-(minutes-m);
hours = (totalminutes%24)/60;
minutes=totalminutes%60;
day_of_week=totalminutes%14;
}
@Override
public String toString(){
String s= Days[day_of_week - 1]+","+
(hours>12? hours-12 : hours<1? 12 : hours) +
":" + (minutes<10? ("0"+minutes) : minutes) +
(hours>=12? " am" : " pm");
/*+ (hours>12? hours-12 : hours<1? 12 : hours) + ":" +
(minutes<10? ("0"+minutes) : minutes) + (hours>=12? " pm" : " am"));*/
return(s);
}
}
my currently result is
Code:
run:
Thusday,12:00 pm
Thusday,2:30 pm
Thusday,12:15 am
Thusday,12:15 am
Sunday,12:30 pm
Sunday,12:30 pm
BUILD SUCCESSFUL (total time: 0 seconds)