# Klausurenprogramm



## happykobolt4 (27. Mrz 2012)

Moin moin,
Wenn mir einer sagen könnte wo mein fehler ist das wäre nett =)

Grüße happykobolt4


```
import java.io.*;

public class Klausurenprogramm {

	/**
	 * @param args
	 */
	public static void main(String[] args)  throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int auswahl,größe,klausur,noten;
        double schnitt;
        
        System.out.println("Dies ist das Klausurenprogramm. Hier können sie Klausuren eintragen, abfragen und den Durchschnitt ausrechnen lassen.");
      
        
        
        do{
        	System.out.println(" Wählen sie eine Aktion indem sie die Zahl eingeben und mit Enter bestätigen:\n1. Klausurnoten eintragen\n2. Klausurnoten abfragen\3. Durchschnitt ausrechen lassen\4. Programm Beenden");
            auswahl = Integer.parseInt(br.readLine());
            
        	switch(auswahl){
        	case '1' :{
        		System.out.println("Geben sie die Größe des Kurses an: ");
        		größe = Integer.parseInt(br.readLine());
        		int klausuren[]= new int[größe];
        		System.out.println("Geben sie nun die Klausurnoten an und bestätigen sie nach jeder Zahl mit Enter:");
        		klausur = Integer.parseInt(br.readLine());
        			for(int z=0; z<größe; z++){
        				klausuren[z]=klausur;
        			}
        	}case '2' :{
        		for(int x=0; x<größe; x++){
        			System.out.print(klausuren[x] + ", ");
        		}
        	}case '3' :{
        		for(int y=0; y<größe; y++){
        			noten=klausuren[y]+noten;
        		}
        		schnitt=noten/größe;
        		System.out.print("Der Durchschnitt der Klausur beträgt: " + schnitt);
        	}case '4' :{
        		
        	}default :{
        		System.out.println("Falsche Eingabe");
        	}
        	}	
        }while(auswahl!=4);
	}

}
```


----------



## Kiri (27. Mrz 2012)

```
case '1' :
```

bei int-Werten müsste die Hochkommatas weg! Also es sollte so aussehen:


```
case 1 :
```

1.[EDIT]Ansonsten wäre es natürlich hilfreich zu erfahren, was nicht funktioniert![/EDIT]

2.[EDIT]
Da du mehrere Noten eingeben willst müsste dieses:


```
klausur = Integer.parseInt(br.readLine());
        			for(int z=0; z<größe; z++){
        				klausuren[z]=klausur;
        			}
```

so lauten

```
for(int z=0; z<größe; z++){
   klausur = Integer.parseInt(br.readLine());
   klausuren[z]=klausur;
}
```
[/EDIT]

3.[EDIT]
Wenn du int durch int teilst erhältst du auch einen int und kein double, deshalb müsste das


```
schnitt=noten/größe;
```

so lauten:


```
schnitt=(double)noten/größe;
```

[/EDIT]


----------



## pl4gu33 (27. Mrz 2012)

klausuren- Array wird in case1 initalisiert. 
und daher kannst es in case 2 und case 3, etc. nicht richtig benutzt werden, da es dort nicht initalisiert ist  bzw. diese Cases die Variable überhaupt nicht kennen da sie nur in case1 existiert

du schmeißt ne IOException in der main ... würde die lieber fangen


----------



## njans (27. Mrz 2012)

```
public class Klausurenprogramm
{
        // Static int[] für den Zugriff
	private static int[] klausuren;
	
	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int auswahl = 0;
		int groeße = 0;
		int klausur = 0;
		int noten = 0;
		double schnitt;

		System.out
				.println("Dies ist das Klausurenprogramm. Hier können sie Klausuren eintragen, abfragen und den Durchschnitt ausrechnen lassen.");

		do
		{
			System.out
					.println(" Wählen sie eine Aktion indem sie die Zahl eingeben und mit Enter bestätigen:\n1. "
							+ "Klausurnoten eintragen\n2. "
							+ "Klausurnoten abfragen\3. "
							+ "Durchschnitt ausrechen lassen\4. "
							+ "Programm Beenden");

			try
			{
				auswahl = Integer.parseInt(br.readLine());
			}
			catch (NumberFormatException | IOException exception)
			{
				exception.printStackTrace();
			}

			try
			{
				switch (auswahl)
				{
					case 1:
						System.out.println("Geben sie die Größe des Kurses an: ");
						groeße = Integer.parseInt(br.readLine());
						klausuren = new int[groeße];
						System.out.println("Geben sie nun die Klausurnoten an und bestätigen sie nach jeder Zahl mit Enter:");
						klausur = Integer.parseInt(br.readLine());
						for (int z = 0; z < groeße; z++)
						{
							klausuren[z] = klausur;
						}
					case 2:
						// Abfangen, dass das Klausuren array nicht initialisiert ist
						for (int x = 0; x < groeße; x++)
						{
							System.out.print(klausuren[x] + ", ");
						}
					case 3:
						// Abfangen, dass das Klausuren array nicht initialisiert ist
						for (int y = 0; y < groeße; y++)
						{
							noten = klausuren[y] + noten;

							schnitt = (noten / groeße);
							System.out.print("Der Durchschnitt der Klausur beträgt: " + schnitt);
						}

					default:
						System.out.println("Falsche Eingabe");
				}
			}
			catch (IOException ex)
			{
				ex.printStackTrace();
			}
		}
		while (auswahl != 4);
	}
}
```


----------

