2017-09-22 83 views
0

我目前堅持MOOC練習36.我的問題是我無法讓我的程序存儲奇數和偶數。我知道我需要使用模數運算符%2,所以程序可以找到提醒是否爲0 - 1是一個偶數或奇數。MOOC循環結束記憶

// program in this project exercises 36.1-36.5 
    // actually this is just one program that is split in many parts 

    Scanner reader = new Scanner(System.in); 
    System.out.println("Type numbers: "); 
    int tal; //Min reader funktion 

    int sum = 0; 
    int numbersTyped = 0; 
    double average = 0.0; 
    int even = 0; 
    int odd = 0; 

    while (true) { 
     tal = Integer.parseInt(reader.nextLine()); 
     if (tal == -1){ 
      System.out.println("Thank you and see you later!"); 
      System.out.println("The sum is: " + sum); 
      System.out.println("How many numbers: " + numbersTyped); 
      System.out.println("Average: " + average); 
      System.out.println("Even numbers: " + even); 
      System.out.println("Odd numbers: " + odd); 
      break; 
     } 
     if (tal >= 0){ 
      sum += tal; 
      numbersTyped++; 
      average = (double) sum/(double) numbersTyped; 
     } else if (tal > 0){ 
      tal %= 2; 
      even = tal; 
     } else if (tal > 1) { 
      tal %= 2; 
      odd = tal; 
     } 

    } 

} 
+0

[整數司Java中(可能的重複https://stackoverflow.com/questions/7220681/division-of-integers-in-java ) –

回答

1

嘗試執行此代碼:

// program in this project exercises 36.1-36.5 
     // actually this is just one program that is split in many parts 

     Scanner reader = new Scanner(System.in); 
     System.out.println("Type numbers: "); 
     int tal; //Min reader funktion 

     int sum = 0; 
     double doubleSum =0.0d;; 
     int numbersTyped = 0; 
     double doubleNumbersTyped = 0.0d; 
     double average = 0.0; 
     int even =0; 
     int odd = 0; 

     while (true) { 
      tal = Integer.parseInt(reader.nextLine()); 
      if (tal == -1){ 
       System.out.println("Thank you and see you later!"); 
       System.out.println("The sum is: " + sum); 
       System.out.println("How many numbers: " + numbersTyped); 
       System.out.println("Average: " + average); 
       System.out.println("Even numbers: " + even); 
       System.out.println("Odd numbers: " + odd); 
       break; 
      } 
      if (tal >= 0){ 
       sum += tal; 
       numbersTyped++; 
       doubleSum = (double) sum; 
       doubleNumbersTyped = (double) numbersTyped; 
       average = doubleSum/doubleNumbersTyped; 
      } 
      if (tal > 0 && tal %2==0){ 
       even++; 
      } 
      if (tal > 1 && tal %2!=0) { 
       odd++; 
      } 

     } 
+0

還不完全,但我需要讓它計算輸入多少個奇數和偶數,而不是打印數字。 Exsample: 3,5,8分別輸入 1個偶數和2個奇數。 –

+0

然後將其作爲int並增加計數器...將更新代碼 – Nidhi257

+0

我使它工作!甚至說++;和奇怪的++;非常感謝你! –