2011-11-13 64 views
0

基本上,當我的計數器達到13時,我希望底部的if和else語句再次發生。我該怎麼做?我的代碼如下。如何讓循環再次做同樣的事情?

int counter = 2; 
int start = 19; 
int end = 95; 

while(!(input>=start && input<=end) /*range*/ && counter<100){ 

       start+=95; 
       end+=95; 

        if(counter % 4 == 0) 
         end+=19; 
        else if(counter % 5 == 0) 
        start+=19; 

       counter++; 
     } 

編輯: 對不起不夠明確。呃,我想要做的是,如果if-else語句已經執行了13次,我想整個事情,包括

start+=95; 
end+=95; 

再次執行。

+0

使用goto並簡單檢查if(counter == 13)轉到標籤 –

+0

您的問題並不十分清楚。你再次發生什麼意思?如果你的計數器達到13,他們會運行,但是你的循環只會運行一次,因爲你增加了95個單位到開始和結束變量。在你的while循環中開始。 –

+0

你的問題沒有任何意義。如果計數器是13,那麼這些分支都不會執行。 '13%4 = 1'和'13%5 = 3',執行它們兩次只會做任何事情兩次。 – Polynomial

回答

1

將循環中的代碼包裝到方法中。當每13次執行一次時,再次調用該方法

0
int innerLoop=(counter==13)?2:1; 
for (int i=0; i<innerLoop; i++) { 
... 
} 
+0

我不太明白這個D: – alicedimarco

+1

好。無論如何,我的代碼中有一個錯誤,因爲你的計數器從2:P開始。這顯然是某種課堂任務......所以,你在努力學習什麼?循環和條件?我的建議是在你的while循環中創建一個循環,只有當你的循環執行了13次時才執行兩次循環。 – phatfingers

相關問題