2

私は学校の課題に取り組んでいるので、これについてのガイダンスが必要です。入力から一連の浮動小数点データ値を読み取るプログラムを作成しようとしています。ユーザーが入力の終了を示すと、プログラムは値のカウント、平均、および標準偏差を返す必要があります。

while ループを構築して、入力を取得し、他のすべての数学関数を実行することができました。ただし、ユーザーが入力した値の数を取得する方法はわかりません。

これが私がこれまでに持っているものです(ループを除く)

        /**
    This class is used to calculate the average and standard deviation
    of a data set.
    */

    public class DataSet{

        private double sum;
        private double sumSquare;
        private int n;

        /**Constructs a DataSet ojbect to hold the
         * total number of inputs, sum and square
         */

        public DataSet(){

            sum = 0;
            sumSquare = 0;
            n = 0;
        }

        /**Adds a value to this data set
         * @param x the input value
         */

        public void add(double x){

            sum = sum + x;
            sumSquare = sumSquare + x * x;

        }

        /**Calculate average fo dataset
         * @return average, the average of the set
         */

        public double getAverage(){

            //This I know how to do

            return avg;

        }

        /**Get the total inputs values
         * @return n, the total number of inputs
         */

        public int getCount(){

//I am lost here, I don't know how to get this. 



        }

    }

クラスについてはまだそれほど進んでいないため、Array を使用することはできません。

4

2 に答える 2

2

私が質問を誤解していない限り、あなたがする必要があるのはカウンターintを持つことだけです。add() が呼び出されるたびに、counter++ を使用してカウンターを増やします。

編集: int n は意図したカウンターのようです。よりわかりやすいものに変更します(提案されているカウンターなど)。1文字のフィールドを持つことは、かなり悪い習慣です。

あとは、getCount メソッドでカウンターを返すだけです。

于 2013-07-28T18:50:55.510 に答える
1
        public void add(double x){
          sum = sum + x;
          sumSquare = sumSquare + x * x;
          n++;
        }

        public int getCount(){
          return n;
        }
于 2013-07-28T18:57:04.340 に答える