下面是我的代码,我正在尝试检查xCoord是空还是空,所以我可以抛出异常。我该怎么做?如果 xCoord == null,我尝试使用 try/catch 但这不起作用。
String x = JOptionPane.showInputDialog("X Coordinate", "Enter an x coordinate");
int xCoord = Integer.parseInt(x);
String y = JOptionPane.showInputDialog("Y Coordinate", "Enter a y coordinate");
int yCoord = Integer.parseInt(y);
String width = JOptionPane.showInputDialog("Radius", "Enter the length of the radius");
int radius = Integer.parseInt(width);
一旦你有了xCoord
就已经晚了。在尝试解析之前,您需要检查x
:
String x = JOptionPane.showInputDialog("X Coordinate", "Enter an x coordinate");
if (x == null || x.length() == 0) {
// Throw a meaningful exception
}
int xCoord = Integer.parseInt(x);
xCoord
是一个基元类型的int
。基元不能null
。它们保留用于引用类型。
您可以做的是检查x
是否为空值。可以吗?是的,可以。如果用户未单击"OK
"(取消、esc、X),则会null
。
因此,正确的检查方法是:
String x = JOptionPane.showInputDialog("X Coordinate", "Enter an x coordinate");
if (x == null || x.isEmpty()) {
//throw Exception or set x to "0" - I'll set to 0
x = "0";
}
int xCoord = Integer.parseInt(x);
xCord
是一个int
,它是一个本机类型,不能为空。从不。
只有对象引用可以为空(例如,如果xCord
定义为 Integer xCord
)。