Gewinnspiel erstellen mit Algorithmus

coder_00

Mitglied
Hallo liebe Leute, ich bin dabei ein Gewinnspeil zu erstellen, beidem man 20 Euro gewinnen kann, wenn meine Zufallszahl in meinem Algorithmus mal vorkommt oder durch 10 teilbar ist. Falls er verliert muss er 5Euro zahlen.
Ich komme hier nicht weiter da ich ein else einbauen möchte, also falls es der Abfrage nicht entspricht ist es keine Gewinnspiel Nummer, aber da das in einer for Schleife dabei ist gibt sich das Sout die ganze Zeit aus. Ich weiß auch nicht ob mit dem Code die Abfrage wirklich stattfindet. Ich bin noch sehr neu in diesem Gebiet bitte kann mir jeamand auf die Sprünge helfen?

Java:
import java.util.Random;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Random r = new Random();
        int money = 40; //money I have
        int lotto = 5; //money I have to pay to play
        int earned = 25; //money I´ll if I win
        int min = 1; 
        int max = 200;
        int number1 = 1; 
        int number2 = 1;
        int number3 = number1 + number2;
        boolean exit = true;

    
        System.out.println("Moechten Sie beim Gewinnspiel mitmachen? j/n");
        String answer = scanner.next();

        if (answer.equals("j") && money >= 5) {
            int myNumber = r.nextInt(min, max + 1); //here we get a random number from min = 1 to max = 200, we have to add 1 'cause otherwhise it goes only to 199;
            System.out.println("Deine Glueckszahl ist " + rndNumber + " :");

            for (int z = 1; z <= myNumber && (exit) || (myNumber % 10 == 0); z++) {
                System.out.println(number1 + "+" + number2 + "=" + number3);
                if (myNumber == number3) {
                    System.out.println(myNumber + " ist eine Gewinnspiel Nummer! Du gewinnst 20 Euro! ");
                    money = money + earned;
                    System.out.println("Du hast nun insgesamt " + money + " Euro.");
                    exit = false;
                }else {
                    System.out.println( myNumber + " ist keine Gewinnspiel Nummer.");
                
                number1 = number2;
                number2 = number3;
                number3 = number1 + number2;
                if (number3 > myNumber) {
                    exit = false;
                }
            }
        } else if (answer.equals("n")) {
            System.out.println("Schade, dann vielleicht beim naechsten Mal.");
        } else if (answer.equals("j") && (money < 5)) {
            System.out.println("Oh nein, dein Geld reicht leider nicht aus. Da hast du wohl kein Glueck heute.");
        }
    }
}
 

KonradN

Super-Moderator
Mitarbeiter
Du solltest Dir von Anfang an angewöhnen, Code in Methoden zu unterteilen. Das macht Code deutlich lesbarer.

Das Kernproblem bei Dir ist aber ein ganz offensichtlicher Denkfehler:
Wenn Du in einer Schleife etwas prüfst, dann kannst Du nur eine Sache prüfen. Du kannst da nicht mit einem else arbeiten. Ein if/else in einer Schleife ist also immer etwas, das direkt aufmerken sollte.

Einfaches Beispiel: Du durchsuchst etwas, also gehst Du mit einer Schleife alle Elemente durch und prüfst jedes Element, ob es das gesuchte ist.
  • Nur wenn es das gesuchte ist, dann hast Du ein wirkliches Ergebnis.
  • Wenn es das nicht ist, dann weisst Du nur, dass bisher das Gesuchte nicht dabei war. Aber Du kannst keine Aussage treffen ob es noch dabei ist oder nicht!

So etwas kann also nur so aussehen:
Code:
- Prüfe alle Elemente
--- Ist das zu prüfende Elemente das gesuchte? --> Gefunden!
Dann nach der Schleife weisst Du erst: Das Gesuchte wurde nicht gefunden!

Und das wird dann auch bei Dir so notwendig. Und da machen Methoden Sinn. Denn Du kannst Die Methode jederzeit abbrechen mit einem return. Wenn Du etwas suchst und du hast es gefunden: Dann suchst Du ja nicht weiter!
 

coder_00

Mitglied
Du solltest Dir von Anfang an angewöhnen, Code in Methoden zu unterteilen. Das macht Code deutlich lesbarer.

Das Kernproblem bei Dir ist aber ein ganz offensichtlicher Denkfehler:
Wenn Du in einer Schleife etwas prüfst, dann kannst Du nur eine Sache prüfen. Du kannst da nicht mit einem else arbeiten. Ein if/else in einer Schleife ist also immer etwas, das direkt aufmerken sollte.

Einfaches Beispiel: Du durchsuchst etwas, also gehst Du mit einer Schleife alle Elemente durch und prüfst jedes Element, ob es das gesuchte ist.
  • Nur wenn es das gesuchte ist, dann hast Du ein wirkliches Ergebnis.
  • Wenn es das nicht ist, dann weisst Du nur, dass bisher das Gesuchte nicht dabei war. Aber Du kannst keine Aussage treffen ob es noch dabei ist oder nicht!

So etwas kann also nur so aussehen:
Code:
- Prüfe alle Elemente
--- Ist das zu prüfende Elemente das gesuchte? --> Gefunden!
Dann nach der Schleife weisst Du erst: Das Gesuchte wurde nicht gefunden!

Und das wird dann auch bei Dir so notwendig. Und da machen Methoden Sinn. Denn Du kannst Die Methode jederzeit abbrechen mit einem return. Wenn Du etwas suchst und du hast es gefunden: Dann suchst Du ja nicht weiter!
Danke für die Erklärung aber ich komme trotzdem nicht weiter
 

mihe7

Top Contributor
Danke für die Erklärung aber ich komme trotzdem nicht weiter
Der Punkt ist ganz einfach: Du hast vor der Schleife einen bekannten Zustand (nämlich, dass noch nicht(s) gewonnen wurde). Nach der Schleife hast Du einen ggf. anderen Zustand. Ist der Zustand unverändert, wurde nicht(s) gewonnen.

Umsetzen lässt sich das auf verschiedene Weisen. Beispielsweise kannst Du ein boolean gewonnen vor der Schleife auf false setzen. In der Schleife setzt Du es auf true, wenn gewonnen wurde. Nach der Schleife stellst Du fest: oh, gewonnen ist immer noch false, also gebe ich aus, dass nichts gewonnen wurde. Das ist, was @KonradN am Ende seines Kommentars beschrieben hat.

Alternativ könntest Du auch die Gewinne summieren. Vor der Schleife beträgt der Gewinn 0. Ist er nach der Schleife immer noch 0, wurde nichts gewonnen -> Ausgabe.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A exe Datei erstellen Java Basics - Anfänger-Themen 8
J Packages erstellen Java Basics - Anfänger-Themen 7
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
Ostkreuz Spielfeld Schatz erstellen Java Basics - Anfänger-Themen 5
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
laxla123 Dreieck erstellen Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
A Passwort erstellen Java Basics - Anfänger-Themen 3
S CVS erstellen Java Basics - Anfänger-Themen 1
RashAGhul Java Verwaltungstool Erstellen mit kaum Wissen Java Basics - Anfänger-Themen 9
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
dennis_lnz Klassen Wie kann ich mein Java Textadventure verbessern, um ein Klassendiagramm zu erstellen? Java Basics - Anfänger-Themen 9
dcHost Java Kara Sensor erstellen Java Basics - Anfänger-Themen 1
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U JList erstellen Java Basics - Anfänger-Themen 2
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
berserkerdq2 IO Streams logfile erstellen und Sachen schreiben wie? Java Basics - Anfänger-Themen 2
B Teilprofil erstellen Java Basics - Anfänger-Themen 1
B Teilprofil erstellen Java Basics - Anfänger-Themen 1
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
N 2D Array Summe erstellen Java Basics - Anfänger-Themen 6
T Log Funktion erstellen Java Basics - Anfänger-Themen 1
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
S Programm erstellen Java Basics - Anfänger-Themen 3
S MinMax Programm erstellen Java Basics - Anfänger-Themen 4
S Mit for-Schleife ein 2D JLabel-Array mit veränderbaren Icons erstellen Java Basics - Anfänger-Themen 3
T Countdown erstellen Java Basics - Anfänger-Themen 7
I ZIP File erstellen Java Basics - Anfänger-Themen 10
L Ordner in neuen erstellten Ordner erstellen Java Basics - Anfänger-Themen 12
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
B Zurück Button erstellen Java Basics - Anfänger-Themen 1
melaniemueller Lagerverwaltung erstellen - mehrdimensionale Arrays Java Basics - Anfänger-Themen 62
B JaxB - Referenzen erstellen? Java Basics - Anfänger-Themen 2
K Rekursion: Rechenmauer mit Array erstellen Java Basics - Anfänger-Themen 17
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
E Classpath Datai erstellen Java Basics - Anfänger-Themen 3
B eine methode erstellen Java Basics - Anfänger-Themen 7
I Entity erstellen, die für API gedacht ist Java Basics - Anfänger-Themen 33
M Packages erstellen mit Java-Editor Java Basics - Anfänger-Themen 6
L FinanzApp erstellen Java Basics - Anfänger-Themen 1
J Junit4 Klasse erstellen Java Basics - Anfänger-Themen 5
B Warteschlange erstellen mit LinkedList ? Java Basics - Anfänger-Themen 6
Animal-Mother BMI Rechner erstellen für W/M Java Basics - Anfänger-Themen 7
F GSON file mit einer List erstellen Java Basics - Anfänger-Themen 2
Ray19941 Über BlueJ Textdatei selbstständig erstellen lassen Java Basics - Anfänger-Themen 2
J Java Queue mit default Werten erstellen Java Basics - Anfänger-Themen 4
JaVaN0oB Bruchklasse erstellen Java Basics - Anfänger-Themen 9
N Kreismuster auf Bestehendem Kreis erstellen Java Basics - Anfänger-Themen 10
K Rahmen erstellen mit mehrdimensionalem Array Java Basics - Anfänger-Themen 1
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
F Adjunkte Matrix erstellen Java Basics - Anfänger-Themen 3
J Objekt-Array dynamischer Länge aus Benutzereingaben erstellen Java Basics - Anfänger-Themen 6
T Startbildschirm für ein Spiel erstellen Java Basics - Anfänger-Themen 0
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
GermanPie Discord Text Channel erstellen? Java Basics - Anfänger-Themen 1
K Objektdiagramm erstellen Java Basics - Anfänger-Themen 3
C Wie kann ich Versionen eines Projektes in Eclipse erstellen? Java Basics - Anfänger-Themen 3
D Klassen Klassendiagramm richtig erstellen Java Basics - Anfänger-Themen 20
S Objekte indiziert erstellen Java Basics - Anfänger-Themen 27
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
E Filmsammlung erstellen Java Basics - Anfänger-Themen 6
B Eine Methode erstellen Java Basics - Anfänger-Themen 3
M Erstellen eines insets Objekts, GridBagLayout Java Basics - Anfänger-Themen 13
I ArrayList erstellen innerhalb einer Zeile? Java Basics - Anfänger-Themen 3
N String N-Gramme mit Stream erstellen Java Basics - Anfänger-Themen 7
K Quersumme erstellen Java Basics - Anfänger-Themen 7
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
D Input/Output Mehrzeiligen String aus Textdatei erstellen Java Basics - Anfänger-Themen 5
C Erstellen eines Widerstandsnetzwerks Java Basics - Anfänger-Themen 10
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
A Taschenrechner mit Gui erstellen Java Basics - Anfänger-Themen 9
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
S Hilfe : Unendlich viele Zufallszahlen erstellen? Java Basics - Anfänger-Themen 8
P Arrays "automatisch" erstellen lassen Java Basics - Anfänger-Themen 12
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
D Zusammenhängenden Graphen für Gleisnetz erstellen Java Basics - Anfänger-Themen 13
Y Unterschied zwischen WindowBuilder und herkömmlichen erstellen des GUI´s? Java Basics - Anfänger-Themen 9
M Writer für unterschiedliche Obj/inbt/double erstellen? Java Basics - Anfänger-Themen 1
Kirby.exe Generische Objekt Instanz erstellen Java Basics - Anfänger-Themen 14
P Fractal erstellen Java Basics - Anfänger-Themen 4
H Objekt mit Methode erstellen Java Basics - Anfänger-Themen 6
C Java Warenkorb erstellen Java Basics - Anfänger-Themen 10
L Queue mithilfe von 2 Stacks erstellen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben