0

次のことを行うJavaプログラムをまとめようとしています:

  1. 読み取る整数の数を要求して読み取る
  2. その数の整数を保持できる配列を作成します
  3. ループを使用して整数値を読み取り、配列を埋めます
  4. 配列内の平均値を計算します (整数として)

これは私がこれまでに持っているものです(ただし、これは間違っていると確信しています):

public static void Average (Scanner keyboard)
{
    System.out.println("Please insert number of integers to read in: ");
    keyboard = new Scanner(System.in);
    int f = keyboard.nextInt();
    int value[]= new int[f];
    //I don't know if I should use a while loop here or what the arguments should be
}

ループを設定するには、どのような条件が必要ですか?

4

5 に答える 5

3

平均を計算するために必要なものと、現在持っているものを見てみましょう。

何が必要

  • 値の総数
  • その価値
  • 値の合計を保持する場所

あなたが持っているもの

  • 値の総数
  • 新しい価値の源泉

今、あなたのコードから、すべての数字を追加する場所がないようです。これは簡単に修正できます。新しい変数を宣言する方法を知っています。

また、値はありませんが、値を取得できる場所があります。合計する必要がある数もわかっているので、ループを使用してソースからその数を取得できます。

全体として、ループを実行する必要がありますf。そのループでは、新しい番号を取得して残りの番号に追加する必要があります。最後に、それらすべてから平均を導き出すことができるはずです。

于 2013-05-18T02:49:50.497 に答える
0

I wrote(with a friend) a code that calculates the average number:

package dingen;
import java.util.Scanner;


public class Gemiddelde {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner sc = new Scanner(System.in);

    float maxCount = 0;
    float avgCount = 0;

    System.out.println("How many numbers do you want");

    int n = sc.nextInt();

    for(int i = 0; i < n; i++) {
        System.out.println("Number: ");
        float number = sc.nextInt();
        maxCount = maxCount + number;

    }

    avgCount = maxCount / n;
    System.out.println("maxCount = " + maxCount);
    System.out.println("avgCount = " + avgCount);
}

}

the only thing you have to do is replace your class and package.

you wil get the message: How many numbers do you want?:

and then it wil ask you the amount of numbers you inserted.

example:

How many numbers do you want?:6

Number:6

Number:7

Number:8

Number:9

Number:93

Number:94

maxCount = 217.0

avgCount = 36.166668

I have hoped I helped you with your problem :)

于 2015-03-21T19:23:44.520 に答える
0

より良いアイデアは、スペースで区切って一度にすべての値を入力するようユーザーに促すことです。IE

2 4 1 1 6 4 2 1

次に、 split() 関数 fまたは Strings を呼び出して、これを String の配列に分割し、 Integer.parseInt()関数を使用して、この String の配列を int の配列に変換します。

int の配列を取得したら、単純な for ループですべての値を加算し、その配列の長さで除算します。

于 2013-05-18T02:43:37.703 に答える
0
public static void Average (Scanner keyboard)
{
    System.out.println("Please insert number of integers to read in: ");
    keyboard = new Scanner(System.in);
    int f = keyboard.nextInt();
    int value[]= new int[f];

    double avg = 0;
    for (int i = 0; i < f; i++)
    { 
       value[i] = keyboard.nextInt();
       avg += value[i];   
    }

    avg /= f;
    System.out.println("Average is " + avg);
}

array を持つポイントがわかりませんvalue。それとも、他の種類の平均が必要ですか?

于 2013-05-18T08:30:00.863 に答える
0

whileループやループを入れforて数値を入力できます。入力とともにsum、数字の を取り続けます。値の総数があるため: Average= (sum of numbers)/ total numbers.

擬似コードを記述して、さらに検索するように強制します。

//Pseudo code starts after your array declaration

for loop from 0 to f
  store it in values Array
  save sum of numbers: sum= sum+values[i]
loop ends
calculate Average
于 2013-05-18T06:58:55.943 に答える