Avatar billede rasmuslh Nybegynder
24. maj 2005 - 09:52 Der er 5 kommentarer og
1 løsning

break if-statement

hejsa

Jeg arbejder på et program hvor der er en række if nestede ind i hinanden. Programmet skal returnere en String. I programmet kalder jeg nogle gange andre metoder inden i en if. Problemet er at det ser ud til at programmet laver en ny tråd til de andre kald og ikke bare stopper koden i den if hvor en ny metode er blevet kaldt.

Så mit spørgsmål er - hvordan stopper man en if! Findes der ikke et break statement som ved en switch?
Avatar billede arne_v Ekspert
24. maj 2005 - 09:56 #1
Java bør ikke starte nogen tråde uden at du eksplicit har bedt om det.
Avatar billede dabster Nybegynder
24. maj 2005 - 14:17 #2
Selv om den starter nye tråde, burde din if kører videre. Paste evt. noget kode.
Avatar billede rasmuslh Nybegynder
24. maj 2005 - 16:51 #3
Jeg starter ikke nogen nye tråde. De er bare et kald til en anden metode.

public String complexLabeling() {
               
if(type1 == 0 || type2 == 0) {
    return "Nearest common ancester is root-note: " + typeArray[0];}
if((arg1 == arg2) && (type1 == type2)) {
    nca = "Nearest common ancester " + typeArray[type1] + " with id=" + arg1;
    return nca;
}
else{
    this.getLabel(); // instantierer de to argumenters labels

    while(type1 != type2) {
        this.typeLeveling(); // bringer argumenter op på samme niveau
    }
   
                           
    boolean labelCompare = true;
               
    while(labelCompare) {
       
        if(label1.equals(label2)) {
            this.getSubSequence();
            return "Nearest common ancestor is a " + typeArray[type1] + " with label="+  subLevel1;
        }
   
        else {
           
            this.getSubSequence();
            label1 = label1.substring(0,label1Length);
            label2 = label2.substring(0,label2Length);               
       
            type1--;
            type2--;
            if(type1 == 0 && type2 == 0) {
                return "Nearest common ancestor is a " + typeArray[type1] + " with label="+  label1;
            }
        }
    }
                       
} return nca;    // end else - return never used   
} // end simpleLabeling()
Avatar billede rasmuslh Nybegynder
24. maj 2005 - 16:53 #4
while(type1 != type2) {
        this.typeLeveling(); // bringer argumenter op på samme niveau
    }
 
hvis den går ind i den while med det metode kald - vil kode så stoppe her. Det virker som om at den skal returnere noget?
Avatar billede rasmuslh Nybegynder
24. maj 2005 - 19:20 #5
Nu har jeg løst det selv. Tak for hjælpen ellers.
Avatar billede rasmuslh Nybegynder
14. juli 2006 - 11:57 #6
Luk
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