2016-12-26 19 views

回答

2

在你for循環,增加一個if聲明跳過0

0

爲什麼不只是蠻力呢?

int [] sequence = {-20, -15, -10, -5, 5, 10, 15, 20}; 
for(int i : sequence){ 
    System.out.println(i); 
} 

或者,以消除循環體的if

for (int i = -20; i <= 20; i += (i == -5) ? 10 : 5) { 
    // Do whatever you need with i, like System.out.println(i); 
} 

或者,如果我們想獲得愚蠢與if聲明:

for (int i = -20; i <= 20; i++) { 
    if (i != 0 && i % 5 == 0) { 
     // Do whatever you need with i, like System.out.println(i); 
    } 
} 
+0

OP沒有提及打印。 – shmosel

+1

@shmosel這是一個問題嗎?你認爲OP會難以弄清楚'println'是他們代碼的佔位符嗎?你是否認爲他們會哀號,呻吟道:「如果只有這樣才能在其他事情上發揮作用,那麼印刷是不行的哦,唉,是我。」? – beaker

+0

@beaker考慮到OP試圖生成一個序列,佔位符是'int sequence = {-20,-15,-10,-5,5,10,15,20}',這可能不會幫助OP所有。事後完成的事情完全不相干。 – shmosel

0

要麼使用for循環併爲0添加if測試,或使用兩個循環。像,

for (int i = -20; i < 0; i += 5) { 
    // -20, -15, -10, -5 
} 
for (int i = 5; i <= 20; i += 5) { 
    // 5, 10, 15, 20 
} 

for (int i = -20; i <= 20; i += 5) { 
    if (i != 0) { 
     // ... 
    } 
} 
1

這應該做

public static void main(String[] args) 
{ 

    int start = -20; 
    int end = 20; 
    int step = 5; 

    for(int i = start; i <= end; i+=step) 
    { 
     if(i != 0) 
     { 
     System.out.println(i); 
     } 

    } 
} 

現在,應該是靈活不含任何其他範圍0

或者你也可以一起去

for(int i = -20; i <= 20; i+=5) 
{ 
    if(i != 0) 
    { 
     System.out.println(i); 
    } 

} 
+0

這將包括'0'。 –

+0

刪除了0現在@ElliottFrisch – ekeith

+0

好奇:爲什麼上限是一個變量,但下限和增量是文字?爲什麼將它命名爲「全部」,因爲它似乎沒有表明任何東西的總和? – Andreas