Tach allerseits,
hab jetz zum WS ein Infostudium begonnen, weil es hieß, dass Vorkenntnisse im Programmieren nicht nötig seien und v.a. weil ich viel Spaß an Mathe und generell Interesse an Informatik habe.
Allerdings merk ich momentan schon, dass ich einige Probleme im Programmieren habe..
Vielleicht könnt ihr mir ja bei einer konkreten Aufgaben helfen..
Aufgabenstellung:
Erstellen Sie ein Java-Programm, das für Schulnoten ihre Bedeutung ausgibt. In verschiedenen Ländern haben die
gleichen Noten unterschiedliche Bedeutungen. Betrachten Sie die Notensysteme in Deutschland, den Niederlanden und
Spanien (angegeben in der Datei Notensysteme.txt in Stud.IP).
Der Benutzer soll nun zunächst gefragt werden, in welchem Land ('D' für Deutschland, 'N' für die Niederlande oder 'S'
für Spanien) er die Schulnote erhalten hat, danach in welchem Fach (beliebige Zeichenkette) er die Schulnote erhalten
hat und zuletzt um welche Note es sich gehandelt hat. Diese drei Fragen sollen solange wiederholt werden, bis der
Benutzer anstatt eines Landes 'X' eingibt. Bei Eingabe von 'X' soll das Programm eine Zusammenfassung der Noten
des Benutzers ausgeben und anschließend beendet werden. Falls der Benutzer ungültige Daten eingibt, so soll das
Programm mit einer passenden Fehlermeldung und ohne weitere Ausgabe beendet werden.
Beispiel: Angenommen der Benutzer gibt ein:
Welches Land?> D
Welches Fach?> Programmierung 1
Welche Note?> 2
Welches Land?> D
Welches Fach?> Theoretische Informatik
Welche Note?> 1
Welches Land?> D
Welches Fach?> Eziente Algorithmen
Welche Note?> 2
Welches Land?> X
Dann lautet die Ausgabe am Ende des Programms:
Ihre Leistung in Programmierung 1 war gut.
Ihre Leistung in Theoretische Informatik war sehr gut.
Ihre Leistung in Effiziente Algorithmen war gut.
Hinweis:
Zwei Strings s1 und s2 können auf Gleichheit getestet werden, indem Sie die Methode equals der Klasse String
wie folgt benutzen:
s1.equals(s2) ergibt als Ergebnis true, wenn s1 und s2 gleich sind, und sonst false.
Die Ausgabe der Noten soll erst beim Beenden des Programms erfolgen, nicht schon während der Eingaben des
Benutzers.
a) Schreiben Sie eine Version des Programms, in der Sie mindestens ein switch-Konstrukt verwenden.
die konkreten Probleme liegen darin, dass ich die while-Schleife nicht so hinbekomme, dass die Eingabe nach dem "X" beendet wird, sowie dass ich keine Ahnung habe, wie ich es schaffe, dass die Ausgabe erst nach dem Ende der Eingabe kommt..
Bisher sieht mein Werk ( ^^ ) so aus:
Würd mich freuen wenn ihr mir ein paar Anregungen geben könntet
Gruß, Alex
hab jetz zum WS ein Infostudium begonnen, weil es hieß, dass Vorkenntnisse im Programmieren nicht nötig seien und v.a. weil ich viel Spaß an Mathe und generell Interesse an Informatik habe.
Allerdings merk ich momentan schon, dass ich einige Probleme im Programmieren habe..
Vielleicht könnt ihr mir ja bei einer konkreten Aufgaben helfen..
Aufgabenstellung:
Erstellen Sie ein Java-Programm, das für Schulnoten ihre Bedeutung ausgibt. In verschiedenen Ländern haben die
gleichen Noten unterschiedliche Bedeutungen. Betrachten Sie die Notensysteme in Deutschland, den Niederlanden und
Spanien (angegeben in der Datei Notensysteme.txt in Stud.IP).
Der Benutzer soll nun zunächst gefragt werden, in welchem Land ('D' für Deutschland, 'N' für die Niederlande oder 'S'
für Spanien) er die Schulnote erhalten hat, danach in welchem Fach (beliebige Zeichenkette) er die Schulnote erhalten
hat und zuletzt um welche Note es sich gehandelt hat. Diese drei Fragen sollen solange wiederholt werden, bis der
Benutzer anstatt eines Landes 'X' eingibt. Bei Eingabe von 'X' soll das Programm eine Zusammenfassung der Noten
des Benutzers ausgeben und anschließend beendet werden. Falls der Benutzer ungültige Daten eingibt, so soll das
Programm mit einer passenden Fehlermeldung und ohne weitere Ausgabe beendet werden.
Beispiel: Angenommen der Benutzer gibt ein:
Welches Land?> D
Welches Fach?> Programmierung 1
Welche Note?> 2
Welches Land?> D
Welches Fach?> Theoretische Informatik
Welche Note?> 1
Welches Land?> D
Welches Fach?> Eziente Algorithmen
Welche Note?> 2
Welches Land?> X
Dann lautet die Ausgabe am Ende des Programms:
Ihre Leistung in Programmierung 1 war gut.
Ihre Leistung in Theoretische Informatik war sehr gut.
Ihre Leistung in Effiziente Algorithmen war gut.
Hinweis:
Zwei Strings s1 und s2 können auf Gleichheit getestet werden, indem Sie die Methode equals der Klasse String
wie folgt benutzen:
s1.equals(s2) ergibt als Ergebnis true, wenn s1 und s2 gleich sind, und sonst false.
Die Ausgabe der Noten soll erst beim Beenden des Programms erfolgen, nicht schon während der Eingaben des
Benutzers.
a) Schreiben Sie eine Version des Programms, in der Sie mindestens ein switch-Konstrukt verwenden.
die konkreten Probleme liegen darin, dass ich die while-Schleife nicht so hinbekomme, dass die Eingabe nach dem "X" beendet wird, sowie dass ich keine Ahnung habe, wie ich es schaffe, dass die Ausgabe erst nach dem Ende der Eingabe kommt..
Bisher sieht mein Werk ( ^^ ) so aus:
Code:
import java.io.*;
public class notensysteme {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String L = null;
String F = null;
int note;
while ( L != "X"){
System.out.println("Welches Land?");
L = in.readLine();
System.out.println("Welches Fach?");
F = in.readLine();
System.out.println("Welche Note?");
note = Integer.parseInt(in.readLine());
switch(L) {
case "D":
{ switch(note) {
case 1:
System.out.println("Ihre Note im Fach "+ F +" war sehr gut!");
break;
case 2:
System.out.println("Ihre Note im Fach "+ F +" war gut!");
break;
case 3:
System.out.println("Ihre Note im Fach "+ F +" war befriedigend!");
break;
case 4:
System.out.println("Ihre Note im Fach "+ F +" war ausreichend!");
break;
case 5:
System.out.println("Ihre Note im Fach "+ F +" war mangelhaft!");
break;
case 6:
System.out.println("Ihre Note im Fach "+ F +" war ungenügend!");
break;
}
break;
}
case "N":
{ switch(note) {
case 1:
System.out.println("Ihre Note im Fach "+ F +" war sehr schlecht!");
break;
case 2:
System.out.println("Ihre Note im Fach "+ F +" war schlecht!");
break;
case 3:
System.out.println("Ihre Note im Fach "+ F +" war stark ungenügend!");
break;
case 4:
System.out.println("Ihre Note im Fach "+ F +" war ungenügend!");
break;
case 5:
System.out.println("Ihre Note im Fach "+ F +" war fast genügend!");
break;
case 6:
System.out.println("Ihre Note im Fach "+ F +" war genügend!");
break;
case 7:
System.out.println("Ihre Note im Fach "+ F +" war ausreichend!");
break;
case 8:
System.out.println(" Ihre Note im Fach "+ F +" war gut!");
break;
case 9:
System.out.println("Ihre Note im Fach "+ F +" war sehr gut!");
break;
case 10:
System.out.println("Ihre Note im Fach "+ F +" war ausgezeichnet!");
break;
}
break;
}
case "S":
{ switch(note) {
case 0:
System.out.println("Ihre Note im Fach "+ F +" war sehr mangelhaft!");
break;
case 1:
System.out.println("Ihre Note im Fach "+ F +" war sehr mangelhaft!");
break;
case 2:
System.out.println("Ihre Note im Fach "+ F +" war sehr mangelhaft!");
break;
case 3:
System.out.println("Ihre Note im Fach "+ F +" war ungenügend!");
break;
case 4:
System.out.println("Ihre Note im Fach "+ F +" war ungenügend!");
break;
case 5:
System.out.println("Ihre Note im Fach "+ F +" war ausreichend!");
break;
case 6:
System.out.println("Ihre Note im Fach "+ F +" war gut!");
break;
case 7:
System.out.println("Ihre Note im Fach "+ F +" war bemerkenswert!");
break;
case 8:
System.out.println("Ihre Note im Fach "+ F +" war bemerkenswert!");
break;
case 9:
System.out.println("Ihre Note im Fach "+ F +" war ausgezeichnet!");
break;
case 10:
System.out.println("Ihre Note im Fach "+ F +" war ausgezeichnet!");
break;
}
break;
}
}
}
}
}
Würd mich freuen wenn ihr mir ein paar Anregungen geben könntet

Gruß, Alex