{
public static class Member
{
private String name;
private int age;
public Member(String x,int y){
name=x;
age=y;
}
public int compareTo(Member a){
if(a.getAge()>age)
return 1;
else if (age<a.getAge())
return -1;
else return 0;
}
public String getName(){return name;}
public int getAge(){return age;}
}
public static void sortMember(Member [] a,int l){
for (int j = 0; j < l-1; j++) {
if (a[j].compareTo(a[(j+1)]) > 0) {
Member temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}}
}
public static void main(String[] args)
{
String name[]=new String[7];
int age[]=new int[7];
for(int x=0,y=0;x<14;x+=2,y++){
name[y]=args[x];
age[y]=Integer.parseInt(args[x+1]);}
Member [] s= new Member[7];
for(int i =0;i< (s.length -1);i++){
s[i]=new Member(name[i],age[i]);
}
for(int count =0;count< (s.length -1);count++){
System.out.println(s[count].getName()+" "+s[count].getAge());
}
sortMember(s,s.length);
for(int count =0;count< (s.length -1);count++){
System.out.println(s[count].getName()+" "+s[count].getAge());
}
}}
CommandLine Arguments: Alice 15 Bob 55 Cat 56 David 63 Elan 37 Fanny 75 Helen 55
Output:
Alice 15
Bob 55
Cat 56
David 63
Elan 37
Fanny 75
Exception in thread "main" java.lang.NullPointerException
at TestAsg1Q1$Member.compareTo(TestAsg1Q1.java:16)
at TestAsg1Q1.sortMember(TestAsg1Q1.java:30)
at TestAsg1Q1.main(TestAsg1Q1.java:55)