Hallo,
Aufgabenstellung ist:
Definieren Sie eine char-Variable für die Werte: { 'j', 'n', 'J', 'N' }
char antwort;
Weisen Sie der Variablen antwort per Zufall einen Wert zu.
* Dabei bedeutet jede zweite gerade Zufallszahl 'j', sonst 'J'.
* Und jede zweite ungerade Zufallszahl bedeutet 'n', sonst 'N'.
Anschließend wird eine Konsole-Ausgabe generiert:
* Wenn antwort 'j' oder 'J' , dann Ausgabe "ja"
* Wenn antwort 'n' oder 'N', dann Ausgabe "nein"
Programmieren Sie die Fallunterscheidung mit dem if/else-Statement
Ich habe jetzt erstmal nur die zahlen von 1 -20 genommen ums einfacher zu prüfen.
Meine Idee dazu ist folgende:
Das Problem ist das ucount ja nicht erhöht wird wenn es eine gereade zahl ist, und somit ist ucount %2 = 0 und er scheibt bei der 3. ungeraden wieder n statt N.
Aufgabenstellung ist:
Definieren Sie eine char-Variable für die Werte: { 'j', 'n', 'J', 'N' }
char antwort;
Weisen Sie der Variablen antwort per Zufall einen Wert zu.
* Dabei bedeutet jede zweite gerade Zufallszahl 'j', sonst 'J'.
* Und jede zweite ungerade Zufallszahl bedeutet 'n', sonst 'N'.
Anschließend wird eine Konsole-Ausgabe generiert:
* Wenn antwort 'j' oder 'J' , dann Ausgabe "ja"
* Wenn antwort 'n' oder 'N', dann Ausgabe "nein"
Programmieren Sie die Fallunterscheidung mit dem if/else-Statement
Ich habe jetzt erstmal nur die zahlen von 1 -20 genommen ums einfacher zu prüfen.
Meine Idee dazu ist folgende:
Code:
public static void aufgabe3()
{
char antwort;
int gcount=0, ucount=0,i=0,x=0;
do
{
x++;
System.out.print(x);
if (x%2==0){gcount++;}else{ucount++;} // wenn gerade gcount +1 wenn ungerade ucount+1
if (gcount!=0) // da u- und gcount zu beginn null sind und 0%2=0 diese entscheidung
{
if (gcount%2==0){antwort='j';}else{antwort='J';} // wenn gcount%2=0 gcount 2 oder ein vielfaches
System.out.print(antwort);
}
else
{
antwort='J';
System.out.print(antwort);
}
if (ucount!=0)
{
if (ucount%2==0){antwort='n';}else{antwort='N';}
System.out.println(antwort);
}else
{
antwort='N';
System.out.println(antwort);
}
}while(x<21);
System.out.println(gcount);
System.out.println(gcount);
}
Das Problem ist das ucount ja nicht erhöht wird wenn es eine gereade zahl ist, und somit ist ucount %2 = 0 und er scheibt bei der 3. ungeraden wieder n statt N.