Rauf- und Runterzählen programmieren?

5 Antworten

Guck dir doch erstmal die Zahlenfolge an. So wie sie da steht, geht es bis 8 hoch. Ab dem Punkt wird solange durch 2 geteilt, bis man wieder auf 1 ist, um dann erneut hochzuzählen.

Nicht gerade schön, sollte aber machen, was du verlangst:

public static void main(String[] ARGS){
    int i = 1;
    int d=0;
    boolean startDivide=false;
    System.out.print(i+",");
    while(d<2){
        while(startDivide==false){
            i++;
            if(i==8){
                startDivide=true;
            }
            System.out.print(i+",");
        }
        while(startDivide==true){
            i=i/2;
            System.out.print(i+",");
            if(i==1){
                startDivide=false;
            }
        }
        d++;
    }
}

d müsstest du halt auf deine Bedürfnisse anpassen.

Die Variable +1 addieren (1, 2, 3, ...).

Dann eine Abfrage: Wenn Variable = 8 ist, dann die Variable durch 2 teilen (4, 2, 1)

Wenn Variable wieder bei 1 ankommt, dann wieder +1 rechnen.

Woher ich das weiß:Hobby – Programmierer, EDV, ... seit den 80er :)

Soll dies automatisch passieren, also diese Zahlenfolge abzuarbeiten oder reicht es, wenn die Zahlenfolge in einer Liste abgearbeitet wird?

Im ersteren musst du uns mal ein paar Infos zu der Zahlenfolge geben ;-)

Woher ich das weiß:Berufserfahrung – Freiberuflicher Java Entwickler mit 10 Jahren Erfahrung

PastorKevin 
Beitragsersteller
 18.01.2018, 19:56

ersterens und die Zahlenfolge ist 1,2,3,4,5,6,7,8,4,2,1,2,3,4,5...

0

Mit einer Schleife könnte das klappen...muss es genau diese Zahlenfolgen sein, die du da in Klammern hast?


PastorKevin 
Beitragsersteller
 18.01.2018, 19:55

Ja

0

Was meinst du genau? Das du bei z.B. einem klick auf die Leertaste die Nummer um 1 Stelle nach oben addierst und sobald sie bei 9 ist das sie wenn du die Leertaste drückst wieder bis 1 nach unten subtrahierst?