2013-02-28 45 views
0

我正在編寫一個程序,用戶輸入10個數字,並在輸入時將它們相加,然後顯示平均值。到目前爲止,我有這個,我堅持要在循環體中放入什麼來實現這一點。謝謝!調用方法添加輸入

import java.util.Scanner; 

public class InputMethod 
{ 
public static void main(String[] args) 
{ 
    int loop_Value; 
    int end_Value = 10; 
    for(loop_Value =0; loop_Value < end_Value; loop_Value++) 
    { 
     readInteger(); 

    } 
} 

private static int readInteger() 
{ 
    Scanner scan = new Scanner(System.in); 
    System.out.println("Enter an integer"); 
    while (!scan.hasNextInt()) 
    { 
     scan.next(); 
     System.out.println ("Bad input. Enter an integer"); 
    } 
    int input = scan.nextInt(); 
    { 
     return input; 
    } 

} 

}

+0

等待什麼?我相信你可以自己做。 – Lion 2013-02-28 14:33:22

+0

請務必標記正確的答案! – christopher 2013-02-28 15:39:32

回答

2

添加一個整數值,總和。在循環體把

sum += readInteger(); 

在結束

System.out.println("The sum is " + sum); 

然後因爲數字的量是固定的。

System.out.println("The average is " + (sum/end_Value)); 
0
int sum=0; 
    for(loop_Value =0; loop_Value < end_Value; loop_Value++) 
    { 
     sum += (readInteger()); 
    } 
    double avg = sum/end_value; 
1

您只讀取輸入:它缺乏一個數字的由readInteger

這返回的記憶是一個工作代碼可怕的風格,與Oracle不兼容/ Sun準則。

public class InputMethod { 

    List<Integer> numbers = new ArrayList<Integer>(); 

    public static void main(String[] args) { 

     int endValue = 10; 

     InputMethod inputMethod = new InputMethod(); 
     for (int loop_Value = 0; loop_Value < endValue; loop_Value++) { 
      int number=inputMethod.readInteger();/*storage the input*/ 

      inputMethod.numbers.add(number); 
     } 
     int sum=0; 
     for (int loop_Value = 0; loop_Value < inputMethod.numbers.size(); loop_Value++) { 
      sum=sum+inputMethod.numbers.get(loop_Value); /*partial sum*/ 
     } 

     System.out.println("Sum of "+inputMethod.numbers+"= "+sum); 
     System.out.println("Average of "+inputMethod.numbers+"= "+(double)(sum/inputMethod.numbers.size())); 

    } 

    private int readInteger() { 
     Scanner scan = new Scanner(System.in); 
     System.out.println("Enter an integer"); 
     while (!scan.hasNextInt()) { 
      scan.next(); 
      System.out.println("Bad input. Enter an integer"); 
     } 
     int input = scan.nextInt(); 
     { 

      return input; 
     } 

    } 

} 

一些觀察:

  • 變量的名字沒有_;只有名字不可理解時,你纔可以插入他;
  • 最好不要聲明變量循環外循環:每個變量都必須有最小範圍變爲程序;
  • System.out.println(「Bad input。Enter a integer」);應該是System.err.println(「Bad input。Enter an integer」);:正常消息的sysout,錯誤的syserr。

最好是通過學習一門語言來了解和應用正確的約定;之後更加困難。

+1

+1對'觀察'技巧:) – exexzian 2013-02-28 15:14:25