![](/img/trans.png)
[英]Java convert seconds to days, hours, minutes, seconds with unique outputs
[英]Java Code to convert seconds into minutes, hours and days
我正在嘗試創建一個Java代碼,要求用戶插入他們想轉換的秒數,而我卻無法運行它。 可以幫忙嗎? 下面的代碼.................................................
import javax.swing.*;
public class Week2Seconds {
private static final int MINUTES_IN_AN_HOUR = 60;
private static final int SECONDS_IN_A_MINUTE = 60;
public static void main(String[] args) {
JFrame frame = new JFrame("InputDialog");
String seconds = JOptionPane.showInputDialog(frame, "Enter Number Of Seconds to Convert");
}
private static String timeConversion(int seconds) {
final int MINUTES_IN_AN_HOUR = 60;
final int SECONDS_IN_A_MINUTE = 60;
int minutes = seconds / SECONDS_IN_A_MINUTE;
seconds -= minutes * SECONDS_IN_A_MINUTE;
int hours = minutes / MINUTES_IN_AN_HOUR;
minutes -= hours * MINUTES_IN_AN_HOUR;
return hours + " hours " + minutes + " minutes " + seconds + " seconds";
}
}
非常感謝Vinnie
您將seconds
存儲為String
,計算機不知道輸入是數字,因此可能甚至不是數字。 您可以使用靜態方法Integer.parseInt
嘗試將字符串轉換為整數。
int numSeconds = Integer.parseInt(seconds)
如果seconds
不是有效數字,則可能引發NumberFormatException
。
將數字設為正確的類型后,可以將其傳遞給方法timeConversion(numSeconds);
根據您對為什么由於創建了JFrame
而導致程序無法正確退出的評論, JFrame
將使您的程序一直運行,直到正確處理為止。 使用JFrame
類超出了您的問題范圍,但是您的程序根本不需要此框架,請將其刪除。 將null
作為showInputDialog
方法的parentComponent
傳遞。
JOptionPane.showInputDialog(null, "Enter Number Of Seconds to Convert");
您可能遇到的一些后續問題可能是:
try { } catch(NumberFormatException e) { }
並采取相應的措施。 這樣的問題和旁白應該可以幫助您僅使用計數器對數字范圍和數字值進行JAVA輸入驗證
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.