2014-09-23 456 views
-2

我有這個程序,我必須寫的問題。 (首先,英文的心不是我的第一語言,所以我也很難理解我對這個程序做什麼。)使用while循環來計算奇數1-25和偶數的總和1-50


Create an application Loops.java. The program must do the following: 

Use a while loop to calculate the sum of the odd numbers 1-25. 

Use a while loop to calculate the sum of the even numbers 1-50. 

我們不加奇數像1+3+5+7+....+25, 我們也不會添加奇數,直到總值爲25

總值將是奇數範圍從1 to 25,總和爲偶數將從1-50


作爲要求,將有許多可能性, 如(1 + 3 = 5), (1 + 5 = 7), (1 +7 = 9)等在

我不知道,因爲從1 to 25奇數已累計13奇數,甚至從1-50數量已經25偶數,什麼是同時的極限環沒有限制總奇數。

任何人都可以拿出這個例子嗎?

這是我寫的第一本,但是在我的教授解釋限制和我不應該做的之後,我完全迷失了。

public class Loops 
{ 
    public static void main (String[] args) 
    { 
     int oddNumber = 1; 
     int evenNumber = 2; 

     while (oddNumber < 25) 
     { 
      oddNumber = oddNumber + 2;  
     }  
     System.out.printf ("Total sum of the odd number is %d\n", oddNumber); 

     while (evenNumber < 50) 
     { 
      evenNumber = evenNumber + 2; 
     } 
     System.out.printf ("Total sum of the even number is %d\n", evenNumber); 
    } 
} 
+0

爲了防止混淆。您不計算總和,您正在搜索一組數字(賠率和均值)的所有可能組合以形成給定(最大?)總和。 (有沒有一個數學術語?) – Felk 2014-09-23 04:57:32

+0

我想你想找到奇數的所有組合,這樣它們的總和就在1-25之間,而偶數就是類似的情況。那麼可能的組合大小是否僅限於如你所說的(1,3),或者它可以增長超過? – Himanshu 2014-09-23 05:00:31

+0

這是我不明白的東西,我的教授說我們需要計算從1到25的奇數和從1到50的偶數的和。他給我們的偶數和奇數的範圍,以便我們知道何時停止。問題是,從1到50,有25個偶數,包括50個。如果總數不超過50,那麼我可以看到循環的結束,這非常接近。但總價值不是50,所以我可以添加任何偶數,我想從1-50不等。所以我可以加2 + 4 + 6 + 8 + 10 + 12 ... + 50或者4 + 8 + 12 + 16 + ... + 50等等。我希望你明白我在這裏想說的話。 – 2014-09-23 05:39:04

回答

0
public class Loops 
{ 
    public static void main (String[] args) 
    { 
     int oddNumber = 1; 
     int totalOdd = 0; 
     int evenNumber = 2; 
     int totalEven = 0; 

     while (oddNumber <= 25) 
     { 
      totalOdd = totalOdd + oddNumber; 
      oddNumber = oddNumber + 2;  
     }  
     System.out.printf ("Total sum of the odd number is %d\n", totalOdd); 

     while (evenNumber <= 50) 
     { 
      totalEven = totalEven + evenNumber; 
      evenNumber = evenNumber + 2; 
     } 
     System.out.printf ("Total sum of the even number is %d\n", totalEven); 
    } 
} 

快速的問題,它說1-25和1-50,它包括25和50,或排除25和50???

如果不包括,代碼仍然正常,否則,將<更改爲< = 2個while循環。你的問題很難理解,所以讓我知道這是你想要的!我添加了2個新變量totalOdd和totalEven來捕捉賠率和平均值的總和。之前,你只是返回了頂部的單數和雙數的值,即25和50.而你到那裏的方式也沒有任何意義,你只是在奇數和偶數線上加2,直到你達到了可以停止while循環的期望數量。你甚至沒有跟蹤迭代次數。所以我改變了代碼,把1到25中的每個數字加起來就是奇數,每個數字1-50都是偶數,並顯示結果。如果沒有任何意義,只要問。

---編輯---

你說25和50都包括在內,在這種情況下,我現在已經更新了while循環,包括年底的數字。

+0

25和50包含在內......所以你也認爲這個問題很難理解。謝謝你,我以爲是唯一不懂英語的人。當我不停地問問題如何解決問題時,我覺得自己像個白癡,但我不明白如何去做,因爲我只是沒有看到這個問題的解決方案。 – 2014-09-23 05:46:46

+0

不是問題,現在我已經更新了代碼以反映這一點,請檢查並確定它是否應該如此。 – DreadHeadedDeveloper 2014-09-23 05:51:35

+0

謝謝,我會試試看看這是否是我的教授想要的格式。我認爲必須等到明天才能知道。他可能已經睡着了 – 2014-09-23 06:00:23

2

這樣來做:

public class Loops 
{ 
    public static void main (String[] args) 
    { 
     int oddNumber = 0; 
     int evenNumber = 0; 
     int number=1; 
     while (number < 50) 
     { 
      if(number <= 25 && number%2!=0){ 
       oddNumber=oddNumber+number; 
      }else if(number%2==0){ 
       evenNumber=evenNumber+number; 
      } 
      number++; 
     }  

     System.out.printf ("Total sum of the odd number is %d\n", oddNumber); 


     System.out.printf ("Total sum of the even number is %d\n", evenNumber); 
    } 
} 

你只需要單迴路和邏輯管理的oddeven數總和。

+0

確實你應該+1,因爲沒有任何評論或解釋:) – 2014-09-23 05:02:44