下面是我的代码,我正在尝试检查xCoord是否为null,或者为空,因此我可以抛出异常。我该怎么办? 我尝试使用try / catch如果xCoord == null但是这不起作用。
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);
答案 0 :(得分:2)
一旦你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);
答案 1 :(得分:1)
xCoord
是int
,是一种原始类型。基元不能是null
。它们保留给参考类型。
您可以做的是检查x
是否为空。是真的吗?是的,它可以。如果用户没有点击null
(取消,esc,X),它就会OK
。
所以检查它的正确方法是:
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);
答案 2 :(得分:1)
xCord
是int
,是原生类型,不能为空。从不。
只有对象引用可以为null(例如,如果xCord
定义为Integer xCord
)。