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;
    }

}

}

4

3 に答える 3

2

整数値、合計を追加します。ループ本体に入れます

sum += readInteger();

最後に

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

それから数の量が固定されているので。

System.out.println("The average is " + (sum / end_Value));
于 2013-02-28T14:32:56.867 に答える
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;
        }

    }

}

いくつかの観察:

  • 変数の名前には_がありません。名前が不安定でない場合にのみ、彼を挿入できます。
  • サイクル外でforループの変数を宣言しない方がよいでしょう。すべての変数はプログラムへの最小スコープを持っている必要があります。
  • System.out.println( "入力が正しくありません。整数を入力してください"); System.err.println( "入力が正しくありません。整数を入力してください");である必要があります。:通常のメッセージの場合はsysout、エラーの場合はsyserr。

言語を学ぶことによって、正しい慣習を知り、適用することをお勧めします。それがより困難になった後。

于 2013-02-28T14:50:56.077 に答える
0
    int sum=0;
    for(loop_Value =0; loop_Value < end_Value; loop_Value++)
    {
      sum += (readInteger());
    }
    double avg = sum/end_value;
于 2013-02-28T14:43:14.547 に答える