Avatar billede jnh Nybegynder
05. juni 2004 - 08:22 Der er 5 kommentarer og
1 løsning

Søgning i Array - cannot resolve symbol

import java.util.Arrays;
class klassenavn
{
private int ugedag; //index fra array (mandag = 0)

private String[] ugedage =
    {"mandag",
    "tirsdag",
    "onsdag",
    "torsdag",
    "fredag",
    "lørdag",
    "søndag"};    //indeholder ugedage som tekst

    public void setUgedag(String dagSomTekst)
    {
        ugedag = binarySearch(ugedage, dagSomTekst);
    }
}

det er de væsentlige ting fra min kode... jeg får en fejl, når jeg forsøger at compile:

"J:\kildetekst\aktivitet.java:184: cannot resolve symbol
symbol  : method binarySearch (java.lang.String[],java.lang.String)
location: class aktivitet
ugedag = binarySearch(ugedage, dagSomTekst);"

Jeg har også prøvet at typecaste til henholdsvis Object[] og Object
- hvad gør jeg galt?

//Jesper
Avatar billede jakoba Nybegynder
05. juni 2004 - 08:35 #1
Der er ikvertfald den fejl at du ikke har sorteret dit array. Uden det giver binary Searh ingen mening.

Ellers synes jeg det burde virke ok blot du caster til Object[] og Object. kunne det være du bruger en gammel Version af java (jeg ved ikke hvor gammel det skulle være) der ikke implementerer binarySearch i klassen java.util.Arrays.

Hvordan ser din cast ud og hvad fejl giver den ?
Avatar billede erikjacobsen Ekspert
05. juni 2004 - 08:42 #2
ugedag = Arrays.binarySearch(ugedage, dagSomTekst);
Avatar billede jakoba Nybegynder
05. juni 2004 - 08:55 #3
Men eftersom det du ønsker er at finde det usorterede index udfra dagens navn ville jeg nok hellere bruge en lineær søgning i det eksisterende array. Med et så kort array er det ikke dyrt.

    public void setUgedag(String dagSomTekst) throws Exception
    {
        int i;
        for ( i=0; i<ugedage.length(); i++ ) {
            if ( dagSomTekst.equals( ugedage[i] ) {
                ugedag = i;
            }
        }
    throw new Exception( "Fejl i 'setUgedag'. Param dagSomTekst ('"
                        +dagSomTekst
                        +"') er ikke navnet på en ugedag."
                      )
    }

mvh JakobA
Avatar billede jakoba Nybegynder
05. juni 2004 - 09:05 #4
Ups. 'length' i arrrays er ikke en metode, men en property (jeg roder altid rundt i det):
        for ( i=0; i<ugedage.length; i++ ) {
Avatar billede jnh Nybegynder
05. juni 2004 - 09:07 #5
DooH! - Tak JacobA

Smider du lige et svar

//Jesper
Avatar billede jnh Nybegynder
13. august 2004 - 11:26 #6
JakobA...

kommer du med et svar?

//Jesper
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