2017-01-17 7 views
0

Ниже мой код, я пытаюсь проверить, является ли xCoord пустой или пустой, поэтому я могу сделать исключение. Как мне это сделать? Я попытался с 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

только 'Objects' может быть пустым – ControlAltDel

+0

' int' никогда не может быть пустым, используйте 'Integer' вместо или проверить' х == null' и т.д. – Thomas

ответ

1

xCoord является int который является примитивным типом. Примитивами не может быть null s. Они зарезервированы для ссылочных типов.

Что вы можете сделать, это проверить, является ли x пустым. Может ли так быть? Да, оно может. Это будет null, если пользователь не нажмет OK (Отмена, esc, X).

Так правильный способ проверить это:

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); 
1

xCord является int, который является собственным типом, который не может быть пустым. Никогда.

Только ссылки на объекты могут быть пустыми (например, если xCord был определен как Integer xCord).

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); 
Смежные вопросы