2017-02-28 136 views
-1

我剛剛開始學習Java,並且仍然習慣while循環。我希望輸出語句只顯示一次而不是多次。例如,語句應該說: 「1和5之間的偶數是:2 4」使用while循環重複輸出行?

代替: 「1和5之間的偶數是: 1和5之間的偶數是: 即使在1和5之間的整數是: 4「

如果我能得到一些反饋,我在做什麼錯在這裏,這將不勝感激。謝謝

//Declare variables 
int n1, n2, sumOdd = 0; 
int sum = 0; 
int sumSquares = 0; 

//Part B 
int count = n1; 
while (count < n2) 
{  
    if (count % 2 ==0) 
    { 
     System.out.println(count); 
    } 
    count++; 
    System.out.println("Even integers between " + n1 + " and " + n2 + " are: "); 
} //end loop 
+0

在while循環之外(以及之後)移動print語句。此外,您將需要使用數組或集合來緩存匹配的數字,直到您準備好打印它們。 –

回答

2

在循環之前創建一個int數組或集合,當您在while循環中找到偶數時,在數組/集合中追加數字。

經過while循環後,打印輸出只有一次,當然還有那些找到的數字。

我認爲這很簡單,我將實施部分留給您。

1

你應該採取while循環的最後一部分出來的:

//Part B 
    System.out.println("Even integers between " + n1 + " and " + n2 + " are: "); 
    int count = n1; 
    while (count < n2) {  
    if (count % 2 ==0) { 
     System.out.print(" " + count); 
    } 
    count++; 
    } 

當你沒有提到要偶數之間的逗號,然後更換printlnprint應該足夠

+0

我不會這樣做,即使正常情況下,它也可以。由於第一行是打印出來的,所以錯誤/異常處理要求不太好。或者其他一些要求,比如打印找到的號碼的總數......等等。 – Kent

+0

你是對的@Kent,但我相信在這種情況下,初學者可以獲得一些關於如何使用循環及其結果。 –

0

他們是不同的方式來實現你的目標。一個快速的解決辦法是把

System.out.println("Even integers between " + n1 + " and " + n2 + " are: ");

在while循環的前面,並更換System.println()與System.print()。

0
int n1, n2, sumOdd = 0; 
int sum = 0; 
int sumSquares = 0; 
System.out.print("Even integers between " + n1 + " and " + n2 + " are: "); 

//Part B 
int count = n1; 
while (count < n2) 
{  
    if (count % 2 == 0) 
    { 
     System.out.print(count); 
    } 
    count++; 
} //end loop 
+1

你應該加一點解釋,因爲OP顯然是一個初學者 –