Java Programmierung Hilfe gesucht?

...komplette Frage anzeigen

1 Antwort

In Deinem Programm sind die geschweiften Klammern 
an der falschen Stelle, deswegen funktioniert die
Logik nicht wie gewünscht. Ich habe den Code etwas
abgeändert, der folgt der C++ - Syntax, sollte sich
aber von Java kaum unterscheiden.

// Prototyp der Klasse CFormular
class CFormular
{
public:

int bonuspunkte;
int klausurpunkte;

int bonuspunkte_max;
int klausurpunkte_max;

void berechnenote();
};

void CFormular::berechnenote()
{
int Eingabe_Ok;

Scanner scan = new Scanner(System.in);

Eingabe_Ok = false;
while ( ! Eingabe_Ok )
{
// Scanner + Integer
System.out.println("Bitte gebe deine Bonuspunkte an.");
bonuspunkte = scan.nextInt();

// Scanner + Integer
// Bonuspunkte überprüfung

if(bonuspunkte <= bonuspunkte_max)
{
System.out.println("Du hast: " + bonuspunkte + " Bonuspunkte" );
Eingabe_Ok = true;
}
else
{
System.out.println("Max. Anzahl von Bonuspunkten beträgt " + bonuspunkte_max " + ". Bitte Eingabe wiederholen.");
}
}

Eingabe_Ok = false;
while ( ! Eingabe_Ok )
{
System.out.println("Bitte gebe deine Klausurpunkte an.");
klausurpunkte = scan.nextInt();

if(klausurpunkte <= klausurpunkte_max)
{
System.out.println("Du hast: " + klausurpunkte + " Klausurpunkte" );
Eingabe_Ok = true;
}
else
{
System.out.println("Max. Anzahl von Klausurpunkten beträgt " + klausurpunkte_max + ", Bitte Eingabe wiederholen.");
}
}
}

int main(void)
{
int summe;

CFormular Formular;

// Maxima setzen
Formular.bonuspunkte_max = 20;
Formular.klausurpunkte_max = 100;

// Aufruf des Formulars
Formular.berechnenote();

// Zugriff auf die Eingaben
summe = Formular.bonuspunkte + Formular.klausurpunkte;

...
}
Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?