私はこの論理が健全に見えるか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 –
クラス名のE7は、これが「エクササイズ7」であることを指しており、セメスターのその時間の周りにあります。 – Tim
学校の仕事です。私たちは、これまでに限られた知識を使ってこれを達成することになっています(数週間分の資料がカバーされています)。私が自分のやり方で苦労した後、私がオンラインで見つけることができる別の解決策を見てみましょう。:) – Deimos