Rauf- und Runterzählen programmieren?
Hallo,
ich muss eine bestimmte Zahlenfolge (1,2,3,4,5,6,7,8,4,2,1,2,3,4...) programmieren, jedoch weiß ich nicht wie ich das anstellen soll.
Danke für eure Hilfe :)
PS: Ich muss es mit Java programmieren.
5 Antworten
![](https://images.gutefrage.net/media/user/Etter/1467506714707_nmmslarge__51_51_922_922_c81bb8292277d456fb9026ae750d1b2f.png?v=1467506715000)
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.
![](https://images.gutefrage.net/media/user/PeterP58/1678805585505_nmmslarge__0_0_120_120_040779a85bcf89fd282fa9af46f30da0.png?v=1678805586000)
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.
![](https://images.gutefrage.net/media/user/Xearox/1682332649602_nmmslarge__0_0_949_949_346a9442561a2b30e1563db3d2634374.jpg?v=1682332650000)
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 ;-)
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
ersterens und die Zahlenfolge ist 1,2,3,4,5,6,7,8,4,2,1,2,3,4,5...
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
Mit einer Schleife könnte das klappen...muss es genau diese Zahlenfolgen sein, die du da in Klammern hast?
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/KingOfGFnet/1516921312728_nmmslarge__0_0_1000_1000_ae38d2d21f6e3a10a60fbb9429d0db71.png?v=1516921313000)
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?