请帮助转义 Java 中 String.split() 方法中的 NPE 错误

请帮助转义 Java 中 String.split() 方法中的 NullPointExeption 错误。用户输入的字符串。它无法编译。在变量的硬编码的情况下,一切都很好。


类计算器:


public class Calculator {

    private String mathExpression;


    public void setMathExpression(String mathExpression) {

        this.mathExpression = mathExpression;

    }


    private String[] parts = mathExpression.split(" ");


    private String firstNumber1 = parts[0];

    //add other elements to the array...

    public void calculatorRun() {

        //using all the variables

    }

}

类计算器测试:


public class CalculatorTest {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        String userAnswer = "y";

        Calculator calculator = new Calculator();


        while (userAnswer.equals("y")) {

            System.out.print("Please put the math expression: ");

            calculator.setMathExpression(scanner.nextLine());

            calculator.calculatorRun();

        }

    }

}


九州编程
浏览 169回答 2
2回答

冉冉说

您需要将您的split调用放入一个方法中,否则它会在您实例化Calculator. 看到这个private String[] parts = mathExpression.split(" ");private String firstNumber1 = parts[0];将两者都放入方法中 calculatorRun

潇湘沐

确保 mathExpression 不为空或为空if(mathExpression!= null && !mathExpression.isEmpty()) {  private String[] parts = mathExpression.split(" "); private String firstNumber1 = parts[0];    /* other code */ }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java