0

I have two classes named RRT and MyClass. RRT class has some data members and for each of them it has respective getter and setter method. From the main method of MyClass I am creating an array of RRT objects and trying to set values to data members using the object's setter method but receiving an error saying object is null.

RRT.java

public class RRT {
    private int ticketNo;
    private String raisedBy;
    private String assignedTo;
    private int priority;
    private String project;
    // getters
    public int getPriority() {
        return priority;
    }

    public int getTicketNo() {
        return ticketNo;
    }

    public String getAssignedTo() {
        return assignedTo;
    }

    public String getProject() {
        return project;
    }

    public String getRaisedBy() {
        return raisedBy;
    }

    // setters
    public void setAssignedTo(String assignedTo) {
        this.assignedTo = assignedTo;
    }

    public void setPriority(int priority) {
        this.priority = priority;
    }

    public void setProject(String project) {
        this.project = project;
    }

    public void setRaisedBy(String raisedBy) {
        this.raisedBy = raisedBy;
    }

    public void setTicketNo(int ticketNo) {
        this.ticketNo = ticketNo;
    }
}

MyClass.java

class MyClass{
    public static RRT getHighestPriorityTicket(RRT[] rrt, String value){
        RRT highestPriority = null;
        int high = Integer.MAX_VALUE;
        for(RRT i : rrt){
            if(i.getProject().compareToIgnoreCase(value)==0 && i.getPriority()<high){
                high = i.getPriority();
                highestPriority = i;
            }
        }
        return highestPriority;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int number = 4;
        RRT[] ob = new RRT[number];
        for (int i = 0; i <number ; i++) {
            String ticketNumber = sc.next();
            String raisedBy = sc.next();
            String assignedTo = sc.next();
            String priority = sc.next();
            String project = sc.next();
            ob[i].setAssignedTo(assignedTo);
            ob[i].setPriority(Integer.parseInt(priority));
            ob[i].setRaisedBy(raisedBy);
            ob[i].setTicketNo(Integer.parseInt(ticketNumber));
            ob[i].setProject(project);
        }
        String targetProject = sc.next();
            RRT answer = getHighestPriorityTicket(ob,targetProject);
            if(answer!=null){
                System.out.println(answer.getTicketNo());
                System.out.println(answer.getRaisedBy());
                System.out.println(answer.getAssignedTo());
            }
            else {
                System.out.println("No such Ticket");
            }
        }
    }

Can anyone tell me what is wrong with the code .

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197

0 Answers0