2011-11-13 6 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++; 
     } 

EDIT:不明であるために 申し訳ありません。もし-else文は、すでに13回実行されている場合はうう、私がやりたいことはある、私は再び実行する

start+=95; 
end+=95; 

を含め、全体のことをしたいです。

+0

gotoと簡単なチェックif(counter == 13)goto label –

+0

あなたの質問は本当に明確ではありません。もう一度何が起こったのですか?カウンタが13に達すると実行されますが、開始変数と終了変数に95単位を追加するとループが1回だけ実行されます。最初のあなたのwhileループで。 –

+0

あなたが求めていることは意味をなさない。 counterが13の場合、それらのブランチのどちらも実行されません。 「13%4 = 1」と「13%5 = 3」の2回を実行すると、何も2回行われません。 – Polynomial

答えて

1

ループ内のコードをメソッドにラップします。 13回毎に実行する場合は、再度メソッドを呼び出してください

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

私はこれをよく理解していませんD: – alicedimarco

+1

良いです。あなたのカウンターは2:Pで始まるので、私のコードにはバグがあります。これは明らかに教室の割り当てのいくつかの並べ替えです...だから、あなたは勉強しようとしているのですか?ループと条件文?私の提案は、ループが正確に13回実行された場合にのみ2回実行するwhileループ内にループを作成することです。 – phatfingers

関連する問題