私はおそらく非常に単純なジレンマに直面しています。私は、電卓に入力されたすべての数値の平均、合計、および数を計算するプログラムを作成しようとしています。この問題は、1つの入力または3つしか受け入れることができないということです(メソッドのパラメータにリストされている変数の数に依存します)。 add()メソッドを実際に受け入れるにはどうすればいいですかn入力数は事前定義されたセットではなくなりますか?私のメソッドにx個のパラメータを受け入れる方法
メインクラス
public class Calculator
{
public static void main (String [] args)
{
AverageCalculator calculation1 = new AverageCalculator();
AverageCalculator calculation2 = new AverageCalculator();
calculation1.add(13);
System.out.println("Sum: " + calculation1.getSum());
System.out.println("Count: " + calculation1.getCount());
System.out.println("Average: " + calculation1.getAverage());
System.out.println();
calculation2.add(3, 7, 12); // Error due to method parameters
System.out.println("Sum: " + calculation2.getSum());
System.out.println("Count: " + calculation2.getCount());
System.out.println("Average: " + calculation2.getAverage());
}
}
これをコンパイルするとき、私はエラーを取得する:
Calculator.java:28: error: method add in class AverageCalculator cannot be applied to given types;
calc2.add(3, 7, 12);
私は、その後どのように私は私のadd()メソッドのに対処するつもりに実行しています機能性。私はそれが何をしなければならないかを知っている、私はループを追加する必要があります確信しています。ただし、解析するための長さはありません。 i = 0; i < calculation 2; i++
はありますか? この部分のコメント
二級
public class AverageCalculator
{
private int sum;
private int count;
public AverageCalculator() {}
public void add (int newNum) // One input due to single parameter
{
// How to accept the multiple input from main class with this mutator
// and successfully manipulate data in this method
sum += newNum;
count++;
}
public int getSum()
{ return sum; }
public int getCount()
{ return count; }
public double getAverage()
{ return (double) sum/count; }
}
これは_varargs_と呼ばれています。[Javaではいつvarargsを使用しますか?](http://stackoverflow.com/questions/766559/when-do-you-use-varargs-in- java) – Seelenvirtuose
同様の質問があります。下のリンクを参照してください。 http://stackoverflow.com/questions/17837117/java-sending-multiple-parameters-to-method –