Guten Tag liebes Forum,
Ich beginne gerade mit dem lernen der OOP.
Habe auch soweit alles verstanden und soll jetzt eine Aufgabe lösen wo die Methode equals(), eines String Objektes abgefragt wird.
Ich hoffe ich habe mich richtig ausgedrückt =)
Mein Problem ist, dass ich im Falle einer <nein> Eingabe des Anwenders eine Endlosschleife bekomme.
Habe gerade eine Art Blockade. Kann mir jemand ein Hinweis oder ein Denkanstoß geben?
Hier die Aufgabenstellung:
Aufgabe 2 — equals()
Schreiben Sie ein Programm, das den Anwender auffordert 5 Integer einzugeben. Das Programm wird den Anwender fünfmal auffordern eine Zahl einzugeben. Danach wird es die Summe berechnen und ausgeben.
Die Ausgabe des Programms sieht dann ungefähr folgendermaßen aus.
Geben Sie 1. Zahl ein:
11
Geben Sie 2. Zahl ein:
4
Geben Sie 3. Zahl ein:
5
Geben Sie 4. Zahl ein:
1
Geben Sie 5. Zahl ein:
9
Gesamtsumme: 30
Verändern Sie dann das Programm, so dass es am Anfang den Anwender fragt, ob er eine Eingabeaufforderung wünscht. Der Anwender gibt "ja" oder "nein" ein (nur einmal, am Anfang). Die Schleife wird jetzt entweder eine Eingabeauforderung ausgeben oder nicht.
Deklarieren Sie eine weitere Stringvariable antwort und weisen Sie ihr das Stringliteral "ja" zu. Vergleichen Sie dann mit der equals() Methode ob der vom Anwender eingegebene String äquivalent zur Stringvariablen antwort ist. Setzen Sie eine boolesche Variable auf true oder false, je nach dem was der Anwender eingegeben hat. Innerhalb der Schleife bestimmt dann eine if-Anweisung ob die Eingabeaufforderung ausgegeben wird oder nicht.
Die Ausgabe des Programms sieht dann ungefähr folgendermaßen aus.
Eingabeaufforderung <ja> oder <nein>?
nein
3
5
2
12
8
Gesamtsumme: 30
Mein Code:
Vielen lieben Dank im vorraus =)
Ich beginne gerade mit dem lernen der OOP.
Habe auch soweit alles verstanden und soll jetzt eine Aufgabe lösen wo die Methode equals(), eines String Objektes abgefragt wird.
Ich hoffe ich habe mich richtig ausgedrückt =)
Mein Problem ist, dass ich im Falle einer <nein> Eingabe des Anwenders eine Endlosschleife bekomme.
Habe gerade eine Art Blockade. Kann mir jemand ein Hinweis oder ein Denkanstoß geben?
Hier die Aufgabenstellung:
Aufgabe 2 — equals()
Schreiben Sie ein Programm, das den Anwender auffordert 5 Integer einzugeben. Das Programm wird den Anwender fünfmal auffordern eine Zahl einzugeben. Danach wird es die Summe berechnen und ausgeben.
Die Ausgabe des Programms sieht dann ungefähr folgendermaßen aus.
Geben Sie 1. Zahl ein:
11
Geben Sie 2. Zahl ein:
4
Geben Sie 3. Zahl ein:
5
Geben Sie 4. Zahl ein:
1
Geben Sie 5. Zahl ein:
9
Gesamtsumme: 30
Verändern Sie dann das Programm, so dass es am Anfang den Anwender fragt, ob er eine Eingabeaufforderung wünscht. Der Anwender gibt "ja" oder "nein" ein (nur einmal, am Anfang). Die Schleife wird jetzt entweder eine Eingabeauforderung ausgeben oder nicht.
Deklarieren Sie eine weitere Stringvariable antwort und weisen Sie ihr das Stringliteral "ja" zu. Vergleichen Sie dann mit der equals() Methode ob der vom Anwender eingegebene String äquivalent zur Stringvariablen antwort ist. Setzen Sie eine boolesche Variable auf true oder false, je nach dem was der Anwender eingegeben hat. Innerhalb der Schleife bestimmt dann eine if-Anweisung ob die Eingabeaufforderung ausgegeben wird oder nicht.
Die Ausgabe des Programms sieht dann ungefähr folgendermaßen aus.
Eingabeaufforderung <ja> oder <nein>?
nein
3
5
2
12
8
Gesamtsumme: 30
Mein Code:
Java:
import java.util.*;
import java.lang.*;
public class Aufgabe2
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int z1, z2, z3, z4, z5, summe;
boolean antwort;
String ant;
while (antwort = true)
{
System.out.println("Eingabeaufforderung <ja> oder <nein>?");
ant = scan.nextLine();
if (ant.equals("ja"))
{
antwort = true;
System.out.println("\nGeben Sie die 1. Zahl ein:");
z1 = scan.nextInt();
System.out.println("Geben Sie die 2. Zahl ein:");
z2 = scan.nextInt();
System.out.println("Geben Sie die 3. Zahl ein:");
z3 = scan.nextInt();
System.out.println("Geben Sie die 4. Zahl ein:");
z4 = scan.nextInt();
System.out.println("Geben Sie die 5. Zahl ein:");
z5 = scan.nextInt();
summe = z1 + z2 + z3 + z4 + z5;
System.out.println("Gesamtsumme: " + summe + "\n");
}
else
{
antwort = false;
}
if (antwort = false)
break;
}
System.out.println("Programm Ende");
}
}
Vielen lieben Dank im vorraus =)