2017-11-13 4 views
-4

Das ist der Code, den ich versuche zu machen und bis jetzt sind die einzigen zwei Fehler in der Hauptmethode und ich ' Ich versuche, die anderen Methoden von hier aus aufzurufen, was mir die Fehler gibt, bitte. Was muss ich tun, um dieses Problem zu beheben?Hallo, ich versuche, ein Programm zu bauen, das eine Arraylist von ganzen Zahlen nimmt & den Durchschnitt findet & es druckt

public static void main(String[] args) { 
    ArrayList<Integer> userNumbers = getInput(); 
    double avg = average(arrayList <integerList>);//error calling a method 
    printAverage(avg, integerList);// error calling a method 
} 
public static ArrayList<Integer> getInput() { 
    ArrayList<Integer> integerList = new ArrayList<Integer>(); 
    Scanner in = new Scanner(System.in); 
    System.out.println("Enter 5 to 10 positive integers all on one line, 
    seperated" 
     + " by spaces; enter q to quit data entery:"); 
    integerList.add(in.nextInt()); 
    return integerList; 
    }// getting the numbers for the array list 
    public static double average(ArrayList<Integer> integerList){ 
    double avg = integerList.stream().mapToInt(val -> 
    val).average().getAsDouble(); 

    return avg; 
    }//calculating the average 
    public static void printAverage(ArrayList<Integer> integerList, double avg) 
{ 
    System.out.println("The average of the numbers " + integerList + " is " 
    + avg); 
}//printing the average 
+4

hervorgehoben haben Sie sagen, * die einzigen zwei Fehler * und * gibt mir die Fehler *, aber Sie sind nicht das, was die * Fehler * sind du bekommst. Diese Information ist auf dem Bildschirm, direkt vor Ihnen; es gibt absolut keinen Grund für dich, es nicht aufzunehmen, also haben wir es auch. Wenn Sie wissen, was die * Fehler * sind, können wir Ihre Frage viel einfacher beantworten, und die Informationen sind * direkt auf dem Bildschirm vor Ihnen *. –

+3

Dies ist keine genaue Fehlerbeschreibung für uns, um Ihnen zu helfen. * Was * funktioniert nicht? * Wie * funktioniert es nicht? Welche Probleme haben Sie mit Ihrem Code? Erhalten Sie eine Fehlermeldung? Was ist die Fehlermeldung? Ist das Ergebnis nicht das Ergebnis, das Sie erwarten? Welches Ergebnis erwarten Sie und warum, welches Ergebnis erhalten Sie und wie unterscheiden sich die beiden? Ist das Verhalten, das Sie beobachten, nicht das gewünschte Verhalten? Was ist das gewünschte Verhalten und warum, was ist das beobachtete Verhalten und auf welche Weise unterscheiden sie sich? –

+1

Fügen Sie ein Tag für die Sprache hinzu, die Sie verwenden. – Nic3500

Antwort

-2

Im Hauptverfahren, Sie übergeben die Parameter der durchschnittlichen (Arraylist), aber Sie wollen einfach nur in dem Namen Ihrer Arraylist zu übergeben, die BenutzerNr wäre. Das gleiche gilt für printAverage (avg, integerList) sollte printAverage (avg, userNumbers) sein.

Dies liegt daran, dass Sie innerhalb von main eine lokale Variable mit dem Namen userNumbers definiert haben.

+0

Also, wenn ich die durchschnittliche (integerList) zu Average (userNumbers) änderte, ging das Problem weg, aber wenn ich es für die printAverage (avg, userNumbers) änderte, bekam ich einen neuen Fehler. Der Fehler bestand darin, dass ein Double nicht in eine ArrayList konvertiert werden konnte. aber das versuche ich nicht. –

+0

Egal, ich habe es, danke. sehr geschätzt. –

0
Double avg = average(userNumbers); 

printAverage(userNumbers, avg); 

, dass die beiden Fehler ist festgelegt, dass Sie in der main()

+0

Danke, das hat den Trick gemacht. Sehr geschätzt. –

+0

Keine Probs, beobachten Sie Ihre Parameter für Methoden –

Verwandte Themen