1
嗨,我現在是新來的java。我有一個工作代碼,但如果用戶輸入錯誤的時間,我希望它回到開頭。我似乎無法解決,有沒有一種簡單的方法可以做到這一點。回到程序的開始
package Time_calculation;
import java.util.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Time_calculation {
public static void main(String[] args) {
SimpleDateFormat timeFormat = new SimpleDateFormat ("HH:mm:ss");
Date T1 = null;
Date T2 = null;
Scanner RFK = new Scanner(System.in);
boolean programrunning = true;
while (programrunning == true){
System.out.println("Enter start time HH:MM: (If you wish to exit please type 'Exit')");
String srtTime = RFK.nextLine();
if (srtTime .matches ("Exit")){
System.out.println("Exiting...");
System.exit(0);
}else{
try{
T1 = timeFormat.parse(srtTime);
}catch (Exception e){
System.err.println("Error");}
System.out.println("Enter end time HH:MM:SS (If you wish to exit please type 'Exit')");
String endtime = RFK.nextLine();
if (endtime .matches ("Exit")){
System.out.println("Exiting...");
System.exit(0);
}else{
try{
T2 =timeFormat.parse(endtime);
}catch (Exception e){
System.err.println("Error");}
long diff = T2.getTime() - T1.getTime();
long diffsec = diff/1000;
System.out.println("Your time in seconds is: " + diffsec + " seconds");
double ms = 1609.344/diffsec;
double mph = ms * 2.23693629;
System.out.println("Speed in M/S: " + ms);
System.out.println("Speed in MPH is: " + mph);
if(mph > 6){
System.out.println("Running faster than average speed!");}
else{
System.out.println("You are running lower than average speed!");}
System.out.println();
}
}
}
}
}
有沒有人有任何想法如何,這將真正幫助。
Java和JavaScript之間有區別! – 2014-11-08 14:14:10
如果您事先不知道循環必須發生多少次,請在任何程序中使用「while」或「do-while」循環「返回」。另外,不要使用'while(programrunning == true){'使用更簡單的'while while(programrunning){' – 2014-11-08 14:15:19