Ich bin wahrscheinlich mit einem sehr einfachen Dilemma konfrontiert. Ich versuche, ein Programm zu erstellen, das die Mittelwerte, Summen und die Anzahl aller dem Taschenrechner eingegebenen Zahlen berechnet. Das Problem dabei ist, dass ich nur eine Eingabe oder drei akzeptieren kann (abhängig von der Anzahl der Variablen, die in meinen Methodenparametern aufgeführt sind). Wie mache ich meine add() - Methode tatsächlich akzeptieren n Anzahl der Eingänge im Gegensatz zu einem vordefinierten Satz?Wie mache ich meine Methode akzeptieren x Anzahl der Parameter
Hauptklasse
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());
}
}
Ich erhalte eine Fehlermeldung, wenn diese Zusammenstellung:
Calculator.java:28: error: method add in class AverageCalculator cannot be applied to given types;
calc2.add(3, 7, 12);
ich laufe dann darüber, wie bin ich mit meiner Methode add() gehe zu beschäftigen Funktionalität. Ich weiß, was es tun muss, ich bin mir sicher, dass ich eine for-Schleife hinzufügen muss. Es gibt jedoch keine gegebene Länge für das Parsen. Habe ich meine i = 0; i < calculation 2; i++
? Siehe Kommentare in diesem Abschnitt
Sekundärklasse
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; }
}
Dies nennt sich _varargs_. Bitte schauen Sie sich an ["Wann verwenden Sie varargs in Java?"] (Http://stackoverflow.com/questions/766559/when-do-you-use-varargs-in- Java) – Seelenvirtuose
Es gibt ähnliche Fragen. Siehe unter Link. http://stackoverflow.com/questions/17837117/java-sending-multiple-parameters-to-method –