Ich habe erst letzte Woche Java gelernt und bin derzeit auf meiner Übung fest. Grundsätzlich ist das Problem ist, dass Sie zwei Zahlen in der Armee Zeit in Anspruch nehmen, und dann ausgegeben, was der Unterschied ist zum BeispielFormatieren von Zahlen zur Armeezeit (Big Java Ex. 4.15)
Please Enter First time : 0900
Please Enter second time: 1730
Result - > 8 hours and 30 minutes
Der Bonus des Problems ist, um sicherzustellen, dass das Programm funktioniert, wenn das erste Mal größer als der zweite ist. Zuerst versuche ich den ersten Teil zu lösen und here, was ich bisher
class TimeInterval{
private double timeOne;
private double timeTwo;
public TimeInterval(double timeOne, double timeTwo){
timeOne = this.timeOne;
timeTwo = this.timeTwo;
}
public double getMinutes(){
double minuteDiff = timeTwo - timeOne;
minuteDiff = minuteDiff%60.0;
return minuteDiff;
}
public double getHours(){
double hours = timeTwo - timeOne;
hours = hours - getMinutes();
hours = hours/60.0;
return hours;
}
}
public class DataSet{
public static void main(String [] args){
TimeInterval time = new TimeInterval(0900,1730);
}
}
Jetzt heres was trippy habe. Ich möchte mein neues Objekt mit timeOne
als 0900
machen, aber ich bekomme einen Fehler. Es sagt "Integer zu lang", das scheint mir ziemlich lustig zu sein, also habe ich etwas recherchiert. Im letzten Abschnitt meines Buches in Kapitel 4 sprechen wir über Sachen Formatierung, wie mit System.out.printf
und wie %d, %f
ich SO sah auf und fand ich einen Weg, wo ich hier so etwas wie
String.format("%05d", yournumber);
tun können Sie können 5 0 vor Ihre Nummer setzen. Die Sache ist, ich bin mir nicht sicher, wie ich das in meinen Code implementieren soll. Ich habe versucht, timeTwo = String.format ... etc, aber dann, da es eine Zeichenfolge ist, kann ich nicht wirklich Mathe darauf machen. Auch wird es mich nicht zu einem Doppel nach String.format.
konvertieren lassen Wie soll ich mich meinem Problem nähern?
Sie müssen aus den USA kommen, wo die 24-Stunden-Zeit als [Militärzeit] bezeichnet wird (https://en.wikipedia.org/wiki/Military_time). Der Rest der Welt ist "zweisprachig" und benutzt sowohl die 12-Stunden- als auch die 24-Stunden-Uhr, die erste für Gelegenheitsangelegenheiten und die Letztere für wichtige Dinge, die Halbleiter als Zugfahrpläne haben. Also besser die Terminologie "24-Stunden-Uhr" verwenden. –
Ah vielleicht formell. Ich nenne es so in Kanada und niemand hatte Probleme mich zu verstehen. –
Um den Wikipedia-Artikel zu zitieren, habe ich verlinkt: "Es wird im Volksmund als militärische Zeit in den Vereinigten Staaten bezeichnet, [4] anglophones Kanada und eine Handvoll anderer Länder [1], wo die 12-Stunden-Uhr immer noch dominant ist." deckt ungefähr 0.4 der 7,4 Milliarden Menschen auf der Erde ab –