as a result, below code should print the names but instead, I am getting the below result com.flight.Passenger@659e0bfdAs and as per my understanding, toString method should be overridden, please correct me if I am wrong and if I am right please help me to override the toString method here.
Thank you so much for the prompt responses but I still have a below question:
As I have got the successful result but is there any way I can print the name of the reference variable like Bob, Reeta and so on?
package com.flight;
import java.util.Arrays;
public class Passenger implements Comparable {
private int memberLevel;
private int memberDays;
public void setLevel(int memberLevel, int memberDays)
{
this.memberLevel = memberLevel;
this.memberDays = memberDays;
}
public int compareTo(Object o)
{
Passenger p = (Passenger) o;
if(memberLevel> p.memberLevel)
return -1; //negative comes first
else if(memberLevel< p.memberLevel)
return 1; // positive comes afterwards
else {
if(memberDays> p.memberDays)
return -1;
else if(memberDays< p.memberDays)
return 1;
else
return 0;
}
}
public static void main (String[] args)
{
Passenger Bob = new Passenger();
Passenger Reeta = new Passenger();
Passenger Mannat = new Passenger();
Passenger Asses = new Passenger();
Bob.setLevel(1,40);
Reeta.setLevel(1,55);
Mannat.setLevel(2,50);
Asses.setLevel(1,95);
Passenger[] pa = {Bob,Reeta,Mannat, Asses};
//Arrays.sort(pa);
for(Passenger pb : pa)
System.out.println(pb);
}
}