사용자가 아무 것도 입력하지 않은 경우 코드를 catch하고 싶습니다. 당신이 볼 수 있듯이 문자열을 정수로 변환하기 때문에 ab.equals (null), ab.isEmpty()를 사용할 수 없습니다. 문자열 전에 parseInt
를 호출하는 비어있는 경우자바에서 빈 변수 int input을 catch하십시오.
double x = -1;
try {
x = Integer.parseInt(ab);
}
catch (NumberFormatException exc) {
x = -1;
}
당신은 확인할 수 : 그건 당신이 빈 문자열에 parseInt
를 호출하는 경우 던져 질 것이다 예외가 이후
import javax.swing.JOptionPane;
public class Mango {
public static void main (String[] args){
String ab = JOptionPane.showInputDialog("Enter Anything");
double sum = 0;
double x = Integer.parseInt(ab);
if(x <= 0){
System.out.println("Empty!");
}else{
sum+=x;
}
}
try catch도 사용해야 할 수도 있습니다. – SMA
@almasshaikh 그렇습니다. 'NumberFormatException'은 RuntimeException이며, 논리 흐름을 제어하기 위해'try-catch' 블록을 사용하지 않아야합니다. 당신이 그것을 절대해서는 안된다는 말은 아니고 단지 그것을 사용하기위한 justificaiton을 제공 할 필요가 있습니다 ... – MadProgrammer
OP가 커버하고자하는 최후의 경우입니다. 따라서 나는 똑같은 질문을했습니다 : – SMA