public class Time{ //Hier Fehlermeldung: The public type time must be declared in its own file, warum?
int hours=0;
int minutes=0;
int seconds=0;
public Time(){ //leerer Konstruktor
}
public Time(int hours, int minutes, int seconds){ //1. Konstruktor
if(hours>=0 && hours<24){
this.hours=hours;
}
else{
hours=-1;
}
if(minutes>=0 && minutes<60){
this.minutes=minutes;
}
else{
minutes=-1;
}
if(seconds>=0 && seconds<60){
this.seconds=seconds;
}
else {
seconds=-1;
}
}
public Time(Time time){ //copy-Konstruktor
this.hours=time.hours;
this.minutes=time.minutes;
this.seconds=time.seconds;
}
public int getHours(){ //getter-Konstruktoren
return hours;
}
public int getMinutes(){
return minutes;
}
public int getSeconds(){
return seconds;
}
public void setTime(int h, int m, int s){ //setter-Konstruktor
if(hours>=0 && hours<24){
this.hours=h;
}
else{
hours=-1;
}
if(minutes>=0 && minutes<60){
this.minutes=m;
}
else{
minutes=-1;
}
if(seconds>=0 && seconds<60){
this.seconds=s;
}
else {
seconds=-1;
}
}
public String toString() {
return String.format("%02d:%02d:%02d", hours, minutes, seconds);
}
void add (int hours, int minutes, int seconds){ //add-Methode
int time_add=hours*3600*minutes*60*seconds;
int time_class=this.hours * 3600* this.minutes *60*this.seconds;
time_class= time_add*time_class;
if(time_class> (23*3600*59*60*59)){
time_class=time_class-(23*3600*59*60*59);
}
this.seconds=time_class%60;
time_class=time_class/60;
this.minutes=time_class%60;
time_class=time_class/60;
this.hours=time_class%60;
}
public void add(Time t){
add(t.hours,t.minutes, t.seconds);
}
public void sub(Time t){
add(-t.hours,-t.minutes,-t.seconds);
}
}
public class MethodsTime {
public static void main(String[] args) {
System.out.println("Drei Uhrzeiten zum Testen");
Time firstClock = new Time();
Time secondClock = new Time(36, 72, 73);
Time thirdClock = new Time(secondClock);
System.out.printf("Die erste Uhr zeigt: %02d:%02d:%02d", firstClock.getHours()
, firstClock.getMinutes()
, firstClock.getSeconds() );
System.out.println("");
System.out.println("Die zweite Uhr zeigt: "+ secondClock.toString());
System.out.println("Die dritte Uhr zeigt: "+ thirdClock);
if(thirdClock == secondClock)
System.out.println("Die dritte und die zweite Uhr sind dieselben!");
else
System.out.println("Dritte und zweite Uhr sind verschiedene Objekte!");
firstClock.setTime(13, 13, 13);
System.out.println("Nach dem Stellen zeigt die erste Uhr: "+ firstClock);
firstClock.add(secondClock);
System.out.println("Die Summe der ersten mit der zweiten ergibt: " + firstClock);
secondClock.add(11,11,11);
thirdClock.sub(secondClock);
System.out.println("Die Differenz dritte minus zweite ergibt: " + thirdClock);
}