2016-03-20 6 views
-1

Heres, was ich habe. Der Benutzer gibt die Anzahl der Termine für 7 Tage ein, aber ich bin verwirrt darüber, wie ich die ganzen Zahlen addieren soll, die der Benutzer von den Arrays eingegeben hat. Irgendwelche Tipps, wie ich das machen kann?Wie fügen Sie ganzzahlige Elemente aus einem Array hinzu und geben sie mit JOptionPane aus?

import javax.swing.JOptionPane; 

public class AdvisingAppointmentTracker { 
    public static void main(String[] args) { 

    // Step 1: Set any constants needed for the program 
    final int NUM_DAYS = 7; 
    final int MIN_NUM_APPOINTMENTS = 0; 

    // Step 2: Create an array that will hold the number of advising appointments per day 
    int appointments[] = new int[NUM_DAYS]; 

    // Step 3: Enter the number of advising appointments for all of the days  
    for(int i = 0; i < appointments.length; i++) 
    appointments[i] = Integer.parseInt(JOptionPane.showInputDialog("Enter the number of appointments")); 
    // Step 4: Find the average number of appointments 


    // Step 5: Output the average number of appointments 

    } 
} 
+0

Fragen Sie, wie Sie die Zahlen im Array hinzufügen/verwenden? Verwenden Sie die gleiche for-Schleife erneut in Ihrem Code. –

+0

wie? Ich habe versucht, Int Total + = Termine; aber ich bekomme Fehler, der es nicht eine Aussage sagt – Javabegin

+0

Sie müssen die Array-Klammern einschließen, um auf die Zahlen zuzugreifen, die Sie speicherten. 'total + = Termine [i]' würde funktionieren. Sie können auch 'for (int n: Termine) total + = n;' –

Antwort

0

Dies ist ein Ansatz

int numberOfAppointments = 0; 
for(int appointment : appointments){ 
    numberOfAppointments += appointment; 
}   
JOptionPane.showMessageDialog(null, numberOfAppointments/appointments.length); 
0

Hier ist ein Schritt für Schritt Anleitung.

Erstellen Sie zuerst eine Variable, die die Gesamtsumme der Array-Elemente speichert.

int sum = 0; 

Dann ist es der schwierige Teil!

Sie sehen, wie Sie ein Array mit diesem durchlaufen können?

for(int i = 0; i < appointments.length; i++) 

Und Zugriff auf die ein Element im Array mit dieser?

appointments[i] 

Genau das sollten Sie tun! Sie sollten diese beiden zusammen kombinieren!

for(int i = 0; i < appointments.length; i++) 
    sum += appointments[i]; 

Wenn Sie nicht ganz tun es bekommen, hier ist die englische Übersetzung des Codes

für jedes der Elemente im Array Termine

das Element hinzufügen zu summieren

Also appointments[i] bedeutet hier im Grunde "jedes Element in Termine".

Sie können auch die Schleife in eine elegantere Weise umschreiben:

for (int appointment : appointments) 
    sum += apppointment; 

Wie man hier sehen kann, wenn man diese Art von Schleife verwenden, die Sie nicht appointments[i] mehr schreiben müssen. Sie ersetzen das durch appointment.

Jetzt können Sie nur den Durchschnitt berechnen sehr leicht:

int average = sum/(double)appointments.length; 

"Warten Sie eine Minute Warum (double)!?" du hast gefragt. Eigentlich ist das nicht nötig. Sie benötigen dies nur, wenn Sie ein Ergebnis mit Nachkommastellen erhalten möchten, da ein int geteilt durch einen int immer ein int ist!

Verwandte Themen