# Arrays Addieren



## Gimminy (6. Jun 2009)

Hallo,
Ich hab ein kleines Problem mit. Ich hab ein Programm geschrieben, welches einen Notendurchschnitt berechnet, habe. Die Anzahl der Noten kann von dem Nutzer festegelegt werden. Das Programm an sich funktioniert  aber ich hab ein Problem mit Arrys, und zwar um den Notendurchscnit zu berechnen, muss man erstmal die Arrywerte addieren und dann durch die anzahl der Arrays teilen. Theoretisch ist es kein Problem, aber wie kann ich meine Arrays addieren?

Das ist der Quellcode, bin für jede Hilfe dankbar


```
import java.io.*;
public class Noten
{
	public static void main(String argv[]) throws IOException
	{
		int i,k=1, Zahl, a=1;
		int Note [];
		double durchschnitt;
		String str;
		
						
		BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
		
		System.out.println("Programmstart:Noten");
		System.out.println("~~~~~~~~~~~~~~~~~~~");
		System.out.println("");
		
		System.out.print("Anzahl der Schueler: ");
		Zahl=Integer.parseInt(input.readLine());
		
		Note=new int[Zahl];;
		
		System.out.println("Schueler:" +Zahl+ ".Geben Sie nun die Noten ein(1-6)");
		System.out.println("===============");
		System.out.println();
			
		for(i=0;i<Zahl;i++)
		{	
			System.out.print("Geben Sie die "+(k++)+". Note ein: ");
			Note[i]=Integer.parseInt(input.readLine());
		
		}
		
		System.out.println();
		System.out.println("Ausgabe und berechnung des Durchschnittes");
		System.out.println("=========================================");
		System.out.println();			
	  
		for(i=0;i<Zahl;i++)
		{
			System.out.println((a++)+".Note: " +Note[i]);
	
		
			if(a==k)
			{
				durchschnitt=(double)(Note[i]+Note[i])/Zahl;
			
				System.out.println();
				System.out.println("Der Notendurchscnit betraegt: "+(double)durchschnitt);
				System.out.println("====================================");
			}
		}
	}							
}
```

das die Formel zu berechnung Fehlerhaft ist ist mir wohl bekannt^^


----------



## Schandro (6. Jun 2009)

Um alle Einträge eines int-Arrays zu addieren:

```
int summe = 0;
for(int i=0;i<noten.length;++i){
   summe += noten[i];   
}
```

(den ersten Buchstabe von Variablen (und Methodennamen) sollte man klein schreiben)

Der Durchschnitt ist 
summe/noten.length
du musst aber wahrscheinlich die beiden int's zu double casten damit die Nachkommastellen nicht abgeschnitten werden.


----------



## AmunRa (6. Jun 2009)

for (int i=0 ;i<Note.length;i++){
durchschnitt+=Note_;
}

durchschnitt/=Note.length;

Einfach mit der Forschleife über alle Werte iterieren und dann durch die Anzahl der Werte im Array dividieren_


----------



## Gimminy (6. Jun 2009)

Danke für die Hilfe, aber wo genau soll ich die zeilen einfügen?


----------



## SchonWiederFred (6. Jun 2009)

```
int summe = 0;
for (int n : noten)
    summe += n;
double durchschnitt = (double) summe / noten.length;
```


----------



## Schandro (6. Jun 2009)

> Danke für die Hilfe, aber wo genau soll ich die zeilen einfügen?


Da wo du sie haben willst? Das ist dein Programm, wir wissen nicht wann du den Durchschnitt ausgeben willst. Es wird natürlich Sinn machen, den Durchschnitt erst zu berechnen nachdem die einzelnen Noten bereits gesetzt wurden...


----------

