Avatar billede marmic Nybegynder
08. april 2002 - 09:40 Der er 4 kommentarer og
1 løsning

Arrays.sort - NullPointerException

Jeg har problemer med java.lang.NullPointerException ved sortering af objekter i en tabel

Problemet opstår fordi jeg sortere strenge og fordi tabellen ikke er fyldt op.
Avatar billede korup Nybegynder
08. april 2002 - 09:43 #1
Kan vi se lidt kode??

/korup
Avatar billede marmic Nybegynder
08. april 2002 - 09:52 #2
Her er udpluk ar koden

import java.util.*;


  public class Student implements Comparable
  {
    String nr;
    String navn;
    String afgang;
    String tlf;
    String email;

    public Student(String inr, String inavn, String iafgang, String itlf, String iemail)
    {
      nr = inr;
      navn = inavn;
      afgang = iafgang;
      tlf = itlf;
      email = iemail;
    }

    public void aendre(String inavn, String iafgang, String itlf, String iemail)
    {
      navn = inavn;
      afgang = iafgang;
      tlf = itlf;
      email = iemail;
    }

    public void udskriv()
    {
      System.out.println(nr+" "+navn+" "+afgang+" "+tlf+" "+email);
    }

    public String getNummer()
    {
      return nr;
    }

    public int compareTo(Object a)
    {
      return this.afgang.compareTo(((Student)(a)).afgang);
    }

  } // Slut class Student

I main...
      case 4: // kald sorter
              Arrays.sort(e);
Avatar billede jakoba Nybegynder
08. april 2002 - 12:10 #3
public int compareTo(Object a)
    {
      if ( a == null ) {
          // null er mindre end hvadsomhelst
          return -1; // eller er det 1? check.
      } else
          return this.afgang.compareTo(((Student)(a)).afgang);
    }

men der skal også tages højde for det de steder du kalder den compareTo

formodentlig noget i retning af
  if ( ditArray[b] == null ) {
      // b er mindst
      res = 1
  } else
      res = ditArray[b].compareTo( ditArray[a] );

mvh JakobA
Avatar billede jakoba Nybegynder
08. april 2002 - 12:14 #4
men check lige om ikke der findes en funktion til at komprimere dit array så alle celler der har værdien null bliver fjernet.
Eller skriv en selv.
Det vil være den mest korrekte måde at gøre det på.
Avatar billede marmic Nybegynder
08. april 2002 - 12:18 #5
Super - det virker :-) Tak.

/Michael
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester