Guten Tag,
ich habe folgendes Programm geschrieben welches das Durchschnittsalter einer Gruppe/Klasse berechnet. Mein Problem ist das ich eine Funktion eingebaut habe womit man den zu letzt eingegeben wert löschen kann das Klapt auch allerdings nicht mit dem Wert den man als Letztes eingibt. Hier erstmal mein code
Also wie schon beschrieben möchte ich das so haben das die Möglichkeit besteht den letzten einzugebenden Wert zu Löschen und ihn dann neu einzugeben. Ich hoffe ihr könnt mir weiterhelfen
ich habe folgendes Programm geschrieben welches das Durchschnittsalter einer Gruppe/Klasse berechnet. Mein Problem ist das ich eine Funktion eingebaut habe womit man den zu letzt eingegeben wert löschen kann das Klapt auch allerdings nicht mit dem Wert den man als Letztes eingibt. Hier erstmal mein code
Code:
import java.io.BufferedReader;
public class testst5 {
public static void main(String[] args) throws java.io.IOException {
BufferedReader br = new BufferedReader(new java.io.InputStreamReader(
System.in));
//Deklaration der benötigten Variablen
int falsch;
int Menü;
double Anzahl = 0;
double insgeAlter = 0;
double Durch = 0;
double VorAlter = 0;
double Alter;
double Schüler;
String Wieder;
String Klasse;
// Menü ausgabe
System.out.println("Willkommen bei meinem kleinen Rechner\nWas wollen sie tun? Druecken sie die folgenden Zahlen für die Jeweilige taetigkeit."
+ "\n1) Rechnung Starten\n2) Beschreibung\n3) Anwendung Schließen");
do {
Menü = Integer.parseInt(br.readLine());
falsch = 0;
//Überprüfung der Menü eingabe
if (Menü == 1) {
System.out.println("Rechnung wird gestartet");
}
else if (Menü == 2) {
System.out.println("Mit dieser Anwendung können sie das durchschnittsalter in ihrer Klasse oder Gruppe berechnen lassen.\n"
+ "Dafür müssen sie nur den Namen ihrer Klasse oder Gruppe eingeben wie viele Schüler in ihrer Klasse oder Gruppe sind und dann nur noch das Alter der Personen eingeben.\n"
+ "Falls sie einmal ein Falsches Alter eingegeben haben können wenn sie aufgefordert werden den nächsetn wert einzugeben die Taste \"0\" drücken um den Letzten eigegebenen Wert Löschen und ihn neu einzugeben\n "
+ "(Drücke Enter um Fortzufahren)");
Wieder = br.readLine();
} else if (Menü == 3) {
System.out.println("Vielen dank für die benutzung meines Programms. Auf wiedersehen.");
System.exit(0);
}
else {
System.out.println("Ungültige eingabe. Bitte geben sie nur die \"1\" \"2\" oder \"3\" ein");
falsch = 1;
}
} while (falsch == 1);
do {
//Anzahl wird auf den Standart wert gebracht
Anzahl = 0;
//Eingabe des Klassennamen, Anzahl der Personen
System.out.println("Geben sie den Klassen namen ein ");
Klasse = br.readLine();
System.out.println("Geben sie die Anzahl der Schüler in ihrer Klasse ein: ");
Schüler = Double.parseDouble(br.readLine());
//erneute alters eingaben.
while (Anzahl != Schüler) {
//Eingabe für das Alter der Schüler
System.out.println("Geben sie das alter ihres Schüles ein: ");
Alter = Double.parseDouble(br.readLine());
Anzahl++;
//Löschung eines Wertes
if (Alter == 0) {
insgeAlter = insgeAlter - VorAlter;
Anzahl = Anzahl - 2;
System.out.println("Der Letzte eingegebene Wert wurde gelöscht sie können ihn nun neu eingeben");
}
//Überprüfung für weitere eingaben
if (Anzahl == Schüler) {
System.out.println("Sie haben alle " + Schüler + " benötigten Werte eingegeben");
}
else if (Anzahl != Schüler) {
System.out.println("Sie Haben " + Anzahl + " Werte von " + Schüler + " benötigten Werte eingegeben.");
}
VorAlter = Alter;
insgeAlter = insgeAlter + Alter;
}
//Rechnung und Ausgabe der Werte
Durch = insgeAlter / Schüler;
Durch = Math.round(Durch*100)/100.0;
System.out.println("Das durschnittsalter in der Klasse: " + Klasse + " beträgt " + Durch + " Jahre");
//abfrage ob man eine erneute berechnung durführen will
System.out.println("Wollen sie eine erneute rechnung machen? (j/n)");
Wieder = br.readLine();
//neue Berechnung
} while (Wieder.equals("j"));
//Programm wird beendet
System.out.println("Vielen dank für die benutzung meines Programms. Auf wiedersehen.");
System.exit(0);
}
}
Also wie schon beschrieben möchte ich das so haben das die Möglichkeit besteht den letzten einzugebenden Wert zu Löschen und ihn dann neu einzugeben. Ich hoffe ihr könnt mir weiterhelfen
Zuletzt bearbeitet: