2013-02-28 41 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

相关问题