我對Java相當新,想知道這個邏輯看起來是否合理。此課程的目的是以12小時的格式接收用戶輸入的時間。然後提示用戶輸入一段時間。最後,它以12小時的格式輸出最後的時間(加上時間)。我已經運行了幾個測試場景,並且一切似乎都正常工作。在我稱之爲好之前,我只是想要一些額外的訓練眼睛來看它。謝謝你的幫助!Java類 - 添加n小時,分鐘和秒到一個時間
import javax.swing.JOptionPane;
public class M3E7 {
public static void main(String args[]) {
String start_hr = null;
String start_min = null;
String start_sec = null;
String abbr = null;
String hr = null;
String min = null;
String sec = null;
int start_hr_num = 0;
int start_min_num = 0;
int start_sec_num = 0;
int hr_num = 0;
int min_num = 0;
int sec_num = 0;
int final_hr = 0;
int final_min = 0;
int final_sec = 0;
start_hr = JOptionPane.showInputDialog("Start time - Enter the hours.");
start_min = JOptionPane.showInputDialog("Start time - Enter the minutes.");
start_sec = JOptionPane.showInputDialog("Start time - Enter the seconds.");
abbr = JOptionPane.showInputDialog("Start time - Enter either am or pm.");
hr = JOptionPane.showInputDialog("Enter the number of hours to add (less than 24).");
min = JOptionPane.showInputDialog("Enter the number of minutes to add (less than 60).");
sec = JOptionPane.showInputDialog("Enter the number of seconds to add (less than 60).");
start_hr_num = Integer.parseInt(start_hr);
start_min_num = Integer.parseInt(start_min);
start_sec_num = Integer.parseInt(start_sec);
hr_num = Integer.parseInt(hr);
min_num = Integer.parseInt(min);
sec_num = Integer.parseInt(sec);
if (abbr.equals("pm")); {
start_hr_num += 12;
}
final_hr = (start_hr_num + hr_num);
final_min = (start_min_num + min_num);
final_sec = (start_sec_num + sec_num);
if (final_sec >= 60) {
final_min++;
final_sec -= 60;
}
if (final_min >= 60) {
final_hr++;
final_min -= 60;
}
if (final_hr >= 24) {
final_hr -= 24;
}
if (final_hr > 12) {
final_hr -= 12;
abbr.equals("pm");
}
else if (final_hr == 12) {
final_hr -= 12;
abbr.equals("am");
}
else {
abbr.equals("am");
}
JOptionPane.showMessageDialog(null, "The new time of day is " + final_hr + ":" + final_min + ":" + final_sec + " " + abbr);
System.exit(0);
}
}
如果這不是家庭作業,你應該知道做到這一點的方法已經存在。請參閱http://stackoverflow.com/questions/439903 – 2012-01-28 00:19:03
類名稱中的E7指向這是「練習7」,它是在那個時候在這個學期... – Tim 2012-01-28 00:20:48
這是學校的工作。我們應該利用迄今爲止有限的知識來完成這項工作(僅涵蓋了幾周的材料)。我會在我自己的努力掙扎之後,看到我可以在網上找到的替代解決方案...... :)。 – Deimos 2012-01-28 00:21:48