Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:在即将结束时运行另一个程序_Java_Joptionpane - Fatal编程技术网

Java:在即将结束时运行另一个程序

Java:在即将结束时运行另一个程序,java,joptionpane,Java,Joptionpane,我在学习Java,我写了这个非常简单的类。一切都很好,直到我走到尽头。在第二个showinputDialog之后,它继续从我完成的另一个java文件进入另一个对话框。我认为要么我的代码中有错误,要么我的eclipse中的某些设置被关闭 // Reads in the radius and length of a cylinder and computes volume // using the formula: area = radius * radius * PI //

我在学习Java,我写了这个非常简单的类。一切都很好,直到我走到尽头。在第二个
showinputDialog
之后,它继续从我完成的另一个java文件进入另一个对话框。我认为要么我的代码中有错误,要么我的eclipse中的某些设置被关闭

// Reads in the radius and length of a cylinder and computes volume
// using the formula: area = radius * radius * PI
//                    volume = area * length

import javax.swing.JOptionPane;

class ComputeVolumeOfCyclinder {
    public static void main(String[] arugs) {
        final double PI = 3.1415;
        String radiusString = JOptionPane.showInputDialog(
                "Enter the radius, \n for example: 15.25");

        String lengthString = JOptionPane.showInputDialog(
                "Enter the length, \n for example: 50.15");

        double radius = Double.parseDouble(radiusString);
        double length = Double.parseDouble(lengthString);

        double area = radius * radius * PI;
        double volume = area * length;

        area = (int)area * 100 / 100.0;
        volume = (int)volume * 100 / 100.0;

        String output = "The area is " + area + "\n The volume is " + volume; 
        JOptionPane.showMessageDialog(null, output);
    }
}
在我存在Eclipse并再次尝试读取它之后,它会显示此错误消息

Exception in thread "main" java.lang.NullPointerException
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:989)
    at java.lang.Double.parseDouble(Double.java:510)
    at ComputeLoanUsingInputDialog.main(ComputeLoanUsingInputDialog.java:14)
更新:我不知道为什么,但现在看来我甚至不能运行这个程序。通常我按下绿色播放按钮,它就会运行我的程序。但重启后,它总是运行另一个程序(不是我想做的)。我认为我目前的计划应该是一个选择

根据

抛出:NullPointerException-如果字符串为null

字符串
radiustString
lengthString
必须为
null
(以第14行为准)


如果输入被取消,该方法将返回
null
。您需要处理这种情况。

一个更好的答案,因为您运行的是eclipse而不是
运行方式
,您可能希望单击图片中所示的
调试方式

然后使用
进入
(F5)和
跨过
(F6)


测试后,如果输入正确的值,代码运行良好,但是如果取消
showInputDialog
将返回
null
,您必须检查它,并检查只允许使用数值。

我不确定我的设置是否有误,但当我打开调试选项时,我会看到“无应用程序”。。。出于某种原因,它现在开始运行我的一些其他java文件。请参阅“视图透视图处于调试状态,尝试调试”,这是跟踪执行的一个很好的工具。@George只需右键单击拥有主方法的类,并将调试设为。。就像我在照片上展示的那样