0

これは宿題です。ユーザーが double を確実に入力できるように、単純な try-catch ステートメントと思われるものを追加しました。「半径を変数に解決できません」というコンパイラエラーが表示されるとすぐに、それは明らかなことだと確信していますが、取得できません。入力が有効な正の数値であることを検証するにはどうすればよいですか?

import javax.swing.*;

//Driver class
public class CylinderTest
{

    public static void main(String[] args)
    {
        boolean valid = false;

        Cylinder[] volume = new Cylinder[3];

                for (int counter = 0; counter < volume.length; counter++)
                {
                    //user input
                    try
                    {
                    double radius = Double.parseDouble(JOptionPane.showInputDialog("Enter the radius"));
                    }

                    catch (NumberFormatException e)
                    {
                        JOptionPane.showMessageDialog(null,
                                "Error. Please enter a valid number", "Error",
                                JOptionPane.INFORMATION_MESSAGE);
                    }
                    double height = Double.parseDouble(JOptionPane.showInputDialog("Enter the height"));
                    volume[counter] = new Cylinder(radius, height);
                }

        for (int i = 0; i < volume.length; i++)
        {
            System.out.println("for Radius of:" + volume[i].getRadius()
                    + " and Height of:" + volume[i].getHeight()
                    + " the Volume is:" + volume[i].volume());
        }
    }
}
4

2 に答える 2