01. maj 2001 - 12:19Der er
9 kommentarer og 1 løsning
Kan ikke finde ud af compareTo
public int sammenLignNavn(Navn andetNavn){ //equalsTo returnerer en int o eller i resultat; if(Kammerater.getNavn.equals(Navn andetNavn).compareTo(Kammerater andetNavn)); return resultat; //Jeg kan ikke se hvor jeg mangler en ), er der nogen der kan hjælpe mig //Skal have sorteret et array efter fornavn. Arrayet virker udmærket ellers
tror ikke du kan have equals og compare to i samme sætning så skal du have den første equals i parentes for sig selv og så det hele compare to det sidste
Kammerater.getNavn.equals(Navn andetNavn) i utgangspunktet returnerer true/false (hvis den hadde fungert, noe den neppe gjør uten at du skriver det på denne måten: Kammerater.getNavn().equals(\"etnavn\")). Dermed kan aldri compareTo bli kalt på den kodebiten, for det ville være det samme som å skrive fx:
true.compareTo(...), og det vil ikke fungere, for true/false ikke er objekter, noe som compareTo krever som parameter.
Resultatet af en equals(String) som nute skriver er en boolean. Kammerater.getNavn er nok en metode:Kammerater.getNavn() Equals kræver kun en attribut (andetNavn) ikke en type erklæring (Navn andetNavn) Ligeledes efter compareTo
Og endelig skal du nok fjerne ; for enden af din if-sætning, hvis det også skal virke. Husk også på at returnere en værdi hvis if-sætningen ikke bliver udført.
Jeg tror (personligt) at det du nok ønskede var public int sammelignNavn(Navn andetNavn) { return Kammerater.getNavn().compareTo(andetNavn); }
Husk hvis du sortere ved hjælp af compareTo på Strings kan du kun bruge tallet til at se om det er \"mindre\", lig med eller \"større\". Størrelsen af tallet siger intet.
String a = \"aaaba\", b = \"aaaab\", c = \"aaaza\"; System.out.println (a.compareTo(b) + \" \" + b.compareTo(c)); 1 og -25 ? det får jeg ikke til første index der er forskellig.
okay den er mystisk ;) - den ene fejl er at den bliver til \" if ( int ) \" og det går jo ikke så prøv med if(Kammerater.getNavn.equals(Navn andetNavn).compareTo(Kammerater andetNavn)==0);
men andetNavn er den \"false\" eller \"true\" ? hvis den er så burde den se så\'en ud
Hvis vi antager at getNavn er en variabel og ikke en metode (hvis det er en metode så skal der stå getNavn() )
Kammerater.getNavn er af datadtypen (Navn) Kammerater.getNavn.equals( (Navn) andetNavn) er en boolean en boolean er en primitiv type og ikke noget objekt, så man ville aldrig kunne kalde compareTo på denne værdi. Resten af statementet forstår jeg ikke, men ovenstående giver i hvert fald et problem.
Hvis vi antager at getNavn er en variabel og ikke en metode (hvis det er en metode så skal der stå getNavn() )
Kammerater.getNavn er af datadtypen (Navn) Kammerater.getNavn.equals( (Navn) andetNavn) er en boolean en boolean er en primitiv type og ikke noget objekt, så man ville aldrig kunne kalde compareTo på denne værdi. Resten af statementet forstår jeg ikke, men ovenstående giver i hvert fald et problem.
Synes godt om
Ny brugerNybegynder
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.