# Notendurschnitt berechnen



## kat.minestry (11. Mrz 2014)

Hallo,
ich muss ein Programm schreiben, das den Notendurschnitt berechnet. Allerdings hab ich keinen Plan wie ich das anstellen soll. ich habe auch schon das halbe Internet durchsucht aber nichts passendes gefunden.
Also hier mal die Aufgabenstellung:
Schreiben Sie ein Programm, bei dem der User beliebig viele Noten eingeben kann.
•	Schreiben Sie die Bildschirmeingabe
•	Führen Sie folgende Variablen ein:
o	Note: Speichert die eingegeben Noten. Kann wiederverwendet werden.
o	Zähler: Zählt die Anzahl eingegebener Noten.
o	Summe: Berechnet die Summe aller eingegebenen Noten
o	Durchschnitt: Berechnet den Notendurchschnitt (Summe/Zähler).
•	Konstruieren Sie die Schleife. Folgende Fragen müssen dabei geklärt werden:
o	Wie organisiere ich die Schleife (Initialisierung, Abbruchbedingungen und update)?
o	Welche Anweisungen müssen im Schleifenkörper stehen?
•	Berechnen Sie den Durchschnitt und geben Sie das Resultat am Bildschirm aus.

So Könnte das Programm aussehen:
_Bitte geben Sie ihre Noten ein (0 für Eingabe beenden):
1.Note: 	3
2.Note:	4,5
3. Note	5
4. Note	6
5. Note 	0
Sie haben 4 Noten eingegeben. Schnitt = 4,625_

Ich bedanke mich schon mal im Voraus.


----------



## Flown (11. Mrz 2014)

Also wir machen keine Hausaufgaben, sondern helfen nur bei Problemstellungen.

Selbst überlegen und dein Codesnippet posten, wenn was nicht geht.

Aber zuerst Klasse erstellen, eine main-Methode rein. Danach die eine Schleife basteln und den Userinput behandeln und deine Werte berechnen.


----------



## kat.minestry (11. Mrz 2014)

das habe ich bis jetzt

import java.util.Scanner;
public class notendurchschnitt {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner input = new Scanner(System.in);
		  double note,anzahl=0;
		  int anzahlnoten=1;

          double durchschnitt,summe=0;

          do
          {
             System.out.println("Bitte geben Sie Ihre Noten ein:");
            ;
             note= input.nextInt();

              anzahlnoten++;

              summe = summe + note;

          }  while (note != 0);

          durchschnitt = summe / (anzahl-1);

          System.out.println("Sie haben "+anzahlnoten+" Noten eingegeben.Schnitt"+durchschnitt);
	}

}


----------



## Andireas99 (11. Mrz 2014)

So habs ma' ein bisschen überarbeitet. 


```
import java.util.Scanner;
public class note {

public static void main(String[] args) {
// TODO Auto-generated method stub

	Scanner input = new Scanner(System.in);
	float note;
	int anzahlnoten=1;
	

	float durchschnitt,summe=0;

	do{
		System.out.println("Bitte geben Sie Ihre Noten ein:");

		note= input.nextInt();

		anzahlnoten++;

		summe = summe + note;

	} while (note != 0);

	durchschnitt = summe / (anzahlnoten-2);
	

	System.out.println("Sie haben "+(anzahlnoten-2)+" Noten eingegeben.Schnitt"+durchschnitt);
}

}
```

1. Habe ich keine doubles sondern floats gebraucht, weil ich lieber mit diesen arbeite 
2. Du hattest um den durchschnitt zu berechnen einen völlig neuen double benutzt
3. Du must anzahlnoten-2 rechnen, weil das 0 am ende ja auch noch mitgerechnet wird und es am Anfang schon 1 ist.

Freundliche Grüsse
Andreas


----------



## kat.minestry (11. Mrz 2014)

Dankeschön

hab jetzt nur noch das Problem dass ich keine Kommarzahlen eingeben kann und bei der Darstellung.
die Eingabe sollte in etwa so aussehen:
_Bitte geben Sie ihre Noten ein (0 für Eingabe beenden):
1.Note: 3
2.Note: 4,5
3. Note 5
4. Note 6
5. Note 0
Sie haben 4 Noten eingegeben. Schnitt = 4,625_


----------



## Andireas99 (11. Mrz 2014)

Ganz einfach: 
	
	
	
	





```
note= input.nextInt();
```
 durch 
	
	
	
	





```
note= input.nextFloat();
```
 ersetzen


----------



## dcc (11. Mrz 2014)

Die Frage ist erst mal wie genau werden die Noten eingegeben?
Gibt man sie in einer Zeile an, z.b. "1 2 3 4 5 6" dann landet der Kram Notenweise im "args" Array der main() Methode und kann einfach per Schleife durchgegangen werden.

Note für Note eingeben ist umständlicher, da kannst ruhig den Scanner verwenden.


----------



## kat.minestry (11. Mrz 2014)

Ich denke wahrscheinlich so nacheinander:
_Bitte geben Sie ihre Noten ein (0 für Eingabe beenden):
1.Note: 3
2.Note: 4,5
3. Note 5
4. Note 6
5. Note 0_

zuerst 1. note, dann 2. usw.
Idee wie ich das umsetzen kann?


----------



## Andireas99 (11. Mrz 2014)

So zb: 
	
	
	
	





```
import java.util.Scanner;
public class note {

public static void main(String[] args) {
// TODO Auto-generated method stub

	Scanner input = new Scanner(System.in);
	float note;
	int anzahlnoten=1;
	

	float durchschnitt,summe=0;
	int nr = 1;
	do{
		System.out.println("Bitte geben Sie Ihre "+nr+". Note ein:");

		note= input.nextFloat();
		

		anzahlnoten++;

		summe = summe + note;
		nr++;
	} while (note != 0);

	durchschnitt = summe / (anzahlnoten-2);
	

	System.out.println("Sie haben "+(anzahlnoten-2)+" Noten eingegeben Schnitt: "+durchschnitt);
}

}
```


----------



## kat.minestry (11. Mrz 2014)

super dankeschön. das Programm läuft:toll::applaus:


----------

