Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么会出现错误:“线程“main”java.lang.NullPointerException中的异常”_Java_Arrays_String_Int_Double - Fatal编程技术网

为什么会出现错误:“线程“main”java.lang.NullPointerException中的异常”

为什么会出现错误:“线程“main”java.lang.NullPointerException中的异常”,java,arrays,string,int,double,Java,Arrays,String,Int,Double,运行程序时,出现以下错误: Exception in thread "main" java.lang.NullPointerException at study.calendar.HomeWorkDiary.<init>(HomeWorkDiary.java:51) at study.calendar.HomeworkTeftInterFace.main(HomeworkTeftInterFace.java:18) Java Result: 1 BUILD SUCC

运行程序时,出现以下错误:

 Exception in thread "main" java.lang.NullPointerException
    at study.calendar.HomeWorkDiary.<init>(HomeWorkDiary.java:51)
    at study.calendar.HomeworkTeftInterFace.main(HomeworkTeftInterFace.java:18)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
下一节课:

public HomeWorkDiary(String filename) {
//        System.out.println("test5");
        diary = new Homework[count + 50];
        count = 0;
//        System.out.println("test6");
        try {
            Scanner file = new Scanner(new File("HomeWork.txt"));
            file.useDelimiter("#");
            while (file.hasNextLine()) {
//                System.out.println("test3");
                String task = file.next();
                String subject = file.next();
//                System.out.println("test7");
                String priorty = file.next();
//                System.out.println("test9");
                String day = file.next();
                String month = file.next();
                String year = file.next();
//                System.out.println("test");
                diary[count].setTaks(task);
                diary[count].setSubject(subject);
                diary[count].setPrioity(Double.parseDouble(priorty));
                diary[count].setDay(parseInt(day));
                diary[count].setmonth(parseInt(month));
                diary[count].setyear(parseInt(year));
//                System.out.println("test 10");
                count++;
                file.nextLine();
            }
        } catch (FileNotFoundException f) {

        }
        System.out.println("test4");
    }

    public void addTask(String task1, String subject1, double priorty1, int day1, int month1, int year1) {
        diary[count].setTaks(task1);
        diary[count].setSubject(subject1);
        diary[count].setPrioity(priorty1);
        diary[count].setDay(day1);
        diary[count].setmonth(month1);
        diary[count].setyear(year1);
        count++;
    }
最后是数组类和相关方法:

public class Homework {

    private String subject;
    private String task;
    private double priorty;
    private int year;
    private int month;
    private int day;

    Homework(String task, String subject, double priorty, int year, int month, int day) {
        this.task = task;
        this.subject = subject;
        this.priorty = priorty;
        this.year = year;
        this.month = month;
        this.day = day;
    }

    public void setTaks(String task1) {
                System.out.println(task1);
        task = task1;
    }

    public void setSubject(String subject1) {
        System.out.println("test");
        subject = subject1;
    }

    public void setPrioity(double priorty1) {
        priorty = priorty1;
    }

    public void setDay(int day1) {
        day = day1;
    }

    public void setyear(int year1) {
        year = year1;
    }

    public void setmonth(int month1) {
        month = month1;
    }

这些代码不是完整的类,而是我认为与我的问题相关的方法。

您有一个数组日志,其中包含对家庭作业的空引用,因此在将其用作日记[count]之前,必须首先将其初始化为日记[count]=新家庭作业;在您的家庭工作日构造函数中

第51行HomeWorkdary.java中有什么内容请阅读以下内容:
public class Homework {

    private String subject;
    private String task;
    private double priorty;
    private int year;
    private int month;
    private int day;

    Homework(String task, String subject, double priorty, int year, int month, int day) {
        this.task = task;
        this.subject = subject;
        this.priorty = priorty;
        this.year = year;
        this.month = month;
        this.day = day;
    }

    public void setTaks(String task1) {
                System.out.println(task1);
        task = task1;
    }

    public void setSubject(String subject1) {
        System.out.println("test");
        subject = subject1;
    }

    public void setPrioity(double priorty1) {
        priorty = priorty1;
    }

    public void setDay(int day1) {
        day = day1;
    }

    public void setyear(int year1) {
        year = year1;
    }

    public void setmonth(int month1) {
        month = month1;
    }