2016-09-28 37 views
-1

所以我正在写一个程序,给出每个输入x秒钟的分钟数...现在的问题是,一旦我输入第一个值,它会要求另一个值并将其分开....并且另一个价值......另一个价值......等等......我怎样才能得到它只给我一个价值,并完成一个价值而不是永无止境的事物?重复JOptionPane弹出?

import javax.swing.JOptionPane; 

class TimeCalculator { 
public static void main(String[] args) { 

double seconds; 
String input; 

input = JOptionPane.showInputDialog("Enter any number of seconds"); 

seconds = Double.parseDouble(input); 

if (seconds >= 60); 
JOptionPane.showInputDialog(null, "There are " + (seconds/60) + " minutes in " + seconds + " seconds."); 


if (seconds >= 3600); 
JOptionPane.showInputDialog(null, "There are " + (seconds/60) + " minutes in " + seconds + " seconds."); 

if (seconds >= 86400); 
JOptionPane.showInputDialog(null, "There are " + (seconds/60) + " minutes in " + seconds + " seconds."); 

System.exit(0); 




} 
} 
+0

“'if(seconds> = 60);'”你确定这是正确的吗? – 2016-09-28 18:09:30

+0

使用'JOptionPane.showMessageDialog()'消息。 https://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html – 2016-09-28 18:12:45

回答

0

首先 - 删除每个if语句后的分号。其次,当您不要求输入时,将showInputDialog更改为showMessageDialog。第三,纠正你的代码的逻辑:

class TimeCalculator{ 

    public static void main(String[] args) { 
     double seconds; 
     String input; 

     input = JOptionPane.showInputDialog("Enter any number of seconds"); 

     seconds = Double.parseDouble(input); 

     if (seconds >= 60) 
      JOptionPane.showMessageDialog(null, "There are " + (seconds/60) + " minutes in " + seconds + " seconds."); 

     if (seconds >= 3600) 
      JOptionPane.showMessageDialog(null, "There are " + (seconds/3600) + " hours in " + seconds + " seconds."); 

     if (seconds >= 86400) 
      JOptionPane.showMessageDialog(null, 
        "There are " + (seconds/86400) + " days in " + seconds + " seconds."); 
     System.exit(0); 
    } 
} 
+0

我删除了分号,它没有改变任何东西 – Daoud

+0

@Daoud我编辑了我的答案。如果有帮助,请接受它作为正确答案。 –

+0

所以我做了这个,当我跑它时,出现了4个错误,表示“无法找到符号”,并指向J中的JOptionPane – Daoud