2017-07-04 4 views
-2

初心者のJavaで、私は半径の値が与えられた後に球の面積と体積を計算するプログラムを作成しています。半径が< = 0の場合、JOptionPaneの形式でエラーメッセージが表示され、半径を求めるように戻るはずですが、whileループでは苦労しています。ここでWhileループのトラブル

が私のコードです:

public static void main(String[] args) { 
    String volume = "V = (4(pi)r^3)/3"; 
    String area = "V = 4(pi)r^2"; 
    JOptionPane.showMessageDialog(null, "Formulas for a Sphere:"+"\n"+"V = (4(pi)r^3)/3"+"\n"+"A = 4(pi)r^2"); 
    Double radius = Double.parseDouble(JOptionPane.showInputDialog("Enter Radius(cm)")); 
    while(radius <= 0) { 
     JOptionPane.showMessageDialog(null, "Please insert a valid radius."); 
    } 
    JOptionPane.showMessageDialog(null, volume + " = " + Math.round((4*3.1415*Math.pow(radius,3)/3)) + "cm" + 
      "\n" + area + " = " + Math.round(4*3.1415*Math.pow(radius,2))); 
+2

ループを入力する必要があります。それ以外の場合、ループはどのように終了しますか? – khelwood

答えて

0

半径の値は、このループで

while(radius <= 0) { 
    JOptionPane.showMessageDialog(null, "Please insert a valid radius."); 
} 

を変更したことがないだけ避けるようにループ

radius = Double.parseDouble(JOptionPane.showInputDialog("Enter Radius(cm)")); 
+0

Aha!同様のことをやろうとしていましたが、誤って変数を再開しようとしました。親切にありがとう –

0

別の可能性(にこれを追加複製コード):