Avatar billede nikolajs12 Nybegynder
08. november 2011 - 22:10 Der er 3 kommentarer og
1 løsning

Returnerer aldrig true, selvom 2 værdier er ens.

Hej

Har et irreterende problem, prøv at se min kode her

http://pastebin.com/g0hYWDWv

Ligegyldig hvad for jeg aldrig true returneret, ligegyldig om jeg ved med garanti at getfile og userid er det samme for jeg stadig kun false.

Håber virkelig i kan hjælpe.
Avatar billede heinzdmx Nybegynder
08. november 2011 - 22:18 #1
Dobbeltligmed tegn tjekker om referencerne samme adresse.

I stedet vil du tjekke om de har samme indhold. Det gør du med .Equals i stedet.

Dit kodeeksempel bør derfor se sådan ud:

public boolean checkuserexist(String userid)
{
        boolean returned = false;
        try  {
            ftp.connect(ftp_host);
            ftp.enterLocalPassiveMode();
            ftp.login(ftp_username,ftp_password);
               
            String[] files = ftp.listNames();
           
            for(int i=0;i<files.length;i++)
            {
                String getFile = files[i].toString();
                if(getFile.Equals(userid))
                {
                    returned=true;
                }
            }
            ftp.disconnect();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return returned;
}
Avatar billede nikolajs12 Nybegynder
08. november 2011 - 22:25 #2
Takker smid et svar.
Avatar billede heinzdmx Nybegynder
08. november 2011 - 22:32 #3
Svar
Avatar billede werd Nybegynder
09. november 2011 - 17:20 #4
getFile er måske ikke et oplagt variabelnavn da det antyder at der er tale om en metode. Det virker måske banalt nu, men når du har større systemer så er det rart når tingene hedder det de representerer.
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

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