java - 如何修复 NullPointerException 错误

标签 java arrays nullpointerexception

我正在尝试编写一个程序,让用户将其类的大小输入到一个数组中,然后找到所有类的平均值。

当我运行该程序时,它会打印出我输入到数组中的内容,但随后它给了我一个 NullPointerException .

代码:

public void getinput() { //
    String dog="dog";
    boolean done=true;
    int x=0;
    int avg=0;
    int z=0;
    Scanner scan = new Scanner(System.in);
    String [] cs = new String [100];
    while(done){
        System.out.println("Enter the size of one class. When you are done, enter 'quit'");//ask for class sizes 
        dog=scan.nextLine();
        cs[x]=dog;
        x++;
            if(dog.equalsIgnoreCase("Quit")){
                done=false;

    }
}

for(z=0;z<cs.length;z++) {
    if (!(cs[z].equalsIgnoreCase("quit"))&& !(cs[z]==null)){
        System.out.print(cs[z]+", ");
    }
}
for(z=0;z<cs.length;z++) {
    if (!(cs[z].equalsIgnoreCase("quit"))&& !(cs[z]==null)){
        avg=Integer.parseInt(cs[z])+avg;
        System.out.println("");
        System.out.println("The average number of students in each classroom is "+avg);
        }
}

最佳答案

另一个更简单的解决方案是首先使用字符串反转条件,因为 equalsIgnoreCase 已经处理了 null 可能性:

if ("quit".equalsIgnoreCase(cs[z])){

这样你就会知道这部分代码不会抛出 NullPointerException。

关于java - 如何修复 NullPointerException 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27881411/

相关文章:

java - 使用 Java 或 JSON 进行拆分

java - 在java中调用函数时出现NullPointerException

java - 将集合传递到 JPA 存储库错误

java - 如果 servlet 上下文初始化失败,则跳过部署或停止 Web 应用程序

c - 操纵字符数组

java - 使用 lambda 表达式对值集合执行算术运算时避免抛出 java.lang.NullPointerException

android - 应用程序因自定义 ListView 中的 NullPointerException 而崩溃

java - 带扩展的初始化 block

java - 如何告诉 Cucumber 执行功能文件时同时考虑功能标签和场景标签?

C 数组提取