Java:在即将结束时运行另一个程序
我在学习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 //
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只需右键单击拥有主方法的类,并将调试设为。。就像我在照片上展示的那样