Klausurenprogramm

happykobolt4

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

Grüße happykobolt4

Code:
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);
	}

}
 
Zuletzt bearbeitet von einem Moderator:

Kiri

Bekanntes Mitglied
Java:
case '1' :

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

Java:
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:

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

so lauten
Java:
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

Java:
schnitt=noten/größe;

so lauten:

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

[/EDIT]
 
Zuletzt bearbeitet:

pl4gu33

Top Contributor
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 ;)
 
Zuletzt bearbeitet:

njans

Top Contributor
Java:
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);
	}
}
 

Neue Themen


Oben