Was bedeutet dieser Fehler?

phoeniix28

Mitglied
Javascript:
package aufgaben;

import java.util.Scanner;

public class SchereSteinPapier {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Automatisch erstellter Methoden-Stub

        //Variablen
            int schere = 1;
            int stein = 2;
            int papier = 3;
            int pc;
            int spieler;
            double pcwahl;
            int spielerwahl;
            
        Scanner aScanner = new Scanner (System.in);
        
        do
        {
            pcwahl = (int) (Math.random()*3); 
            
            System.out.println("Der PC Hat nun eine Wahl getroffen zwischen Schere,Stein,Papier");
            System.out.println("Nun sind sie an der reie wählen sie die \n 1 = Schere \2 = Stein \n 3 = Papier");
            
            spielerwahl = aScanner.nextInt();
            
            if (spielerwahl == schere)
            {
                if (spielerwahl == pcwahl )
                {
                    System.out.println("Sie hatten die gleiche wahl wie der PC.");
                }
                else if (pcwahl == stein)
                {
                    pc++;
                    System.out.println("Der PC Hat gewonnen!");
                }
                else
                {
                    spieler++;
                    System.out.println("Sie haben gewonnen!");
                }
            
            }
            
            else if (spielerwahl == stein)
            {
                if (spielerwahl == pcwahl )
                {
                    System.out.println("Sie hatten die gleiche wahl wie der PC.");
                }
                else if (pcwahl == papier)
                {
                    pc++;
                    System.out.println("Der PC Hat gewonnen!");
                }
                else
                {
                    spieler++;
                    System.out.println("Sie haben gewonnen!");   
                }
            }
                
            else if (spielerwahl == papier)
            {
                if (spielerwahl == pcwahl )
                {
                    System.out.println("Sie hatten die gleiche wahl wie der PC.");
                }
                else if (pcwahl == schere)
                {
                    pc++;
 

temi

Top Contributor
Falls das nur zum Üben ist, kannst du auch gerne nach "java online compiler" suchen, da gibt es einige. Allerdings kannst du damit das Programm zwar ausführen, eine ausführbare Datei erhältst du jedoch nicht.
 

MoxxiManagarm

Top Contributor
Hast du keine IDE?

PS.: Bitte korrigiere auch noch hier und da deine Grammatik:
Der PC hat nun eine Wahl getroffen zwischen Schere,Stein,Papier
Nun sind Sie an der Reihe, wählen Sie dieaus \n 1 = Schere \2 = Stein \n 3 = Papier
Sie hatten die gleiche Wahl wie der PC.
Der PC hat gewonnen!
 

MoxxiManagarm

Top Contributor
IDE wofür brauche ich das?
Das ist eine Entwicklungsumgebung, die dir hilft Java Code zu schreiben und zu kompilieren und dabei Syntax Überprüfung vornimmt. Außerdem bietet sie dir die Möglichkeit den Code zu debuggen etc.

Außerdem noch ein Tip. Du arbeitest ja mit Zahlen, du fängst jede Kombination einzeln ab, dabei gibt es aber nur 3 Fälle, die du anders darstellen kannst.

Fall 1: Gleiche Auswahl --> spielerwahl == pcwahl
Fall 2: PC gewinnt --> pcwahl - 1 == (spielerwahl % 3)
Fall 3: Spieler gewinnt --> spielerwahl - 1 == (pcwahl % 3)

Ah und pcwahl = (int) (Math.random()*3); hat nicht die Ergebnis-Menge {1,2,3}
 
Zuletzt bearbeitet:

Samofan

Aktives Mitglied
Schere, Stein, Papier mit java. Habe kaum erfahrung mit Java, habe bisher eigentlich nur Python genutzt.
Also fassen wir mal zusammen:
Du willst deine ersten Schritte mit Java gehen und hast ein Programm entwickelt. Jetzt willst du es testen und zu einer ausführbaren Datei übersetzen. RIchtig?
Dafür benötigst du ein Java JDK. Damit kannst du deinen geschriebenen Quelltext übersetzen und ausführen.
Dir wurde bereits eine IDE (IntelliJ, Netbeans, ...) empfohlen. Diese hilft dir, deinen Quelltext fehlerfrei zu schreiben und ihn zu debuggen.
Vielleicht solltest du diese zwei Schritte erstmal erledigen.
 

phoeniix28

Mitglied
Also fassen wir mal zusammen:
Du willst deine ersten Schritte mit Java gehen und hast ein Programm entwickelt. Jetzt willst du es testen und zu einer ausführbaren Datei übersetzen. RIchtig?
Dafür benötigst du ein Java JDK. Damit kannst du deinen geschriebenen Quelltext übersetzen und ausführen.
Dir wurde bereits eine IDE (IntelliJ, Netbeans, ...) empfohlen. Diese hilft dir, deinen Quelltext fehlerfrei zu schreiben und ihn zu debuggen.
Vielleicht solltest du diese zwei Schritte erstmal erledigen.
Ja

IDE habe ich jetzt, dort möchte ich jetzt ein .jar file anlegen was nicht geht
mach ich dort was falsch?
1610097173850.png
 

phoeniix28

Mitglied
Habe da laut IDE 1 Fehler drin: Wie kann ich ihn beheben?
Java:
package INformatik;

import java.util.Scanner;

class rockpapersiccor {

    public static void main(String[] args) {

        //Variablen
                int schere = 1;
                int stein = 2;
                int papier = 3;
                int pc = 5;
                int spieler = 0;
                double pcwahl;
                int spielerwahl;

                Scanner aScanner = new Scanner (System.in);

        pcwahl = (int) (Math.random()*3);

        System.out.println("Der PC Hat nun eine Wahl getroffen zwischen Schere,Stein,Papier");
        System.out.println("Nun sind sie an der reie wählen sie die \n 1 = Schere \2 = Stein \n 3 = Papier");

        spielerwahl = aScanner.nextInt();

        if (spielerwahl == schere)
        {
            if (spielerwahl == pcwahl )
            {
                System.out.println("Sie hatten die gleiche wahl wie der PC.");
            }
            else if (pcwahl == stein)
            {
                pc++;
                System.out.println("Der PC Hat gewonnen!");
            }
            else
            {
                spieler++;
                System.out.println("Sie haben gewonnen!");
            }

        }

        else if (spielerwahl == stein)
        {
            if (spielerwahl == pcwahl )
            {
                System.out.println("Sie hatten die gleiche wahl wie der PC.");
            }
            else if (pcwahl == papier)
            {
                pc++;
                System.out.println("Der PC Hat gewonnen!");
            }
            else
            {
                spieler++;
                System.out.println("Sie haben gewonnen!");
            }
        }

        else if (spielerwahl == papier)
        {
            if (spielerwahl == pcwahl )
            {
                System.out.println("Sie hatten die gleiche wahl wie der PC.");
            }
            else if (pcwahl == schere)
            {
                pc++;
                System.out.println("Der PC Hat gewonnen!");
            }
            else
            {
                spieler++;
                System.out.println("Sie haben gewonnen!");
            }
        }

        System.out.println("Sie haben " + spieler + " Gewonnen"+"Der PC hat " + pc + " Gewonnen");


    }

        }


    }
}
 

LimDul

Top Contributor
Nutz mal die automatische Formatierung der IDE und schau dann nach ob die geschweiften Klammern passen. Vermutlich ist eiinfach eine schließende Klammer zu viel am Ende (Ich bin jetzt zu faul zum zählen)
 

temi

Top Contributor
So mal generell zum sofort angewöhnen: Klassennamen werden in Java mit einem Großbuchstaben am Anfang geschrieben und meist im sog. CamelCase => class RockPaperScissor

Die Datei muss genauso heißen wie die Klasse: RockPaperScissor.java
 

PinkMuffin

Bekanntes Mitglied
Waren sogar 2 zuviel, jetzt wird ein neuer Fahler angezeigt:
Error: Could not find or load main class INformatik.Main
Caused by: java.lang.ClassNotFoundException: INformatik.Main
Du hast mit deiner IDE eine Klasse erstellt und die Main reingeschrieben? Eigentlich ist nur eine Klammer falsch. Ich habe deine exakte Main in meine Klasse kopiert und musste nur eine Klammer entfernen, damit es durchläuft (hat trotzdem einige logische Fehler gemacht).
Wenn du "new > JavaClass" gemacht und den Klassennamen (der eigentlich groß geschrieben werden sollte) eingegeben hast, sollte er eigentlich keine Probleme damit haben.
 

LimDul

Top Contributor
Und das was oben als package angegeben ist, muss als Verzeichnis angelegt sein und die Klasse da drin sein.

Das heißt, deine Datei müsste im Verzeichnis INformatik liegen und rockpaperscissor.java heißen (Mit genau der Groß und Kleinschreibung!)

packages sollten klein geschrieben werden und Klassen (und damit auch Dateinamen) im CamelCase wie von @temi beschrieben. Ich würde dir mal empfehlen dich mit den Grundlagen von Java zu beschäftigen.
 

PinkMuffin

Bekanntes Mitglied
Java:
package scheresteinpapier;

import java.util.Scanner;
    class SchereSteinPapier {
Also so?
Das kann dir vermutlich keiner sagen, weil wir deine Paket-Struktur nicht sehen können.
Im Package-explorer sollte dir dein Paket angezeigt werden. Allerdings müsste es (das Package) richtig sein, sonst würde (zumindest bei Eclipse) der Compiler dir das rot unterkringeln.
 

temi

Top Contributor
Also ich rechts-klicke einfach im Projektbaum auf den "src/main/java" Ordner => New => Package und danach auf den Package-Ordner New => Java Class. Jeweils die gewünschten Namen angeben und fertig.
 

PinkMuffin

Bekanntes Mitglied
Scheint ja zu laufen. Wenn du das allerdings irgendjemanden zeigen willst, rate ich dir zum selben, wie schon @MoxxiManagerin : Schau dir deine Ausgaben noch mal an. Es gibt einen Unterschied zwischen unschön und beinahe unverständlich. Und bei der Schere wird kein Zeilenumbruch gemacht, was ja vermutlich der Plan war.
 

MoxxiManagarm

Top Contributor
Ich sehe nur, dass er den Code jetzt in IntelliJ hat, was ja schonmal sehr schön ist! Aber sämtliche andere Punkte sind noch unbearbeitet, z.B.
a) die Falsche Ergebnismenge für pcwahl
b) die auffälligen grammatischen Fehler
c) die nicht notwendigen Vergleiche von spielerwahl/pcwahl auf ein Symbol. Es müssen lediglich pcwahl und spielerwahl miteinander verglichen werden
d) ...

Noch ein kleiner Denkanstoß: Was passiert bei deinem Programm, wenn z.B. eine 4 eingegeben wird?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Was bedeutet dieser Fehler Java Basics - Anfänger-Themen 2
S Erste Schritte Was bedeutet dieser Code? Java Basics - Anfänger-Themen 2
D Erste Schritte Was bedeutet dieser Code? Java Basics - Anfänger-Themen 23
S Was bedeutet dieser ausdruck? Java Basics - Anfänger-Themen 9
0 Was bedeutet dieser Generic-code? Java Basics - Anfänger-Themen 3
onlyxlia Was bedeutet das @Override? Java Basics - Anfänger-Themen 1
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
S Was bedeutet ungleich (in diesem Zusammenhang)? Java Basics - Anfänger-Themen 2
S Was bedeutet das Zeichen := Java Basics - Anfänger-Themen 9
H Was bedeutet das: [I@7d4991ad? Java Basics - Anfänger-Themen 20
MiMa Was bedeutet unchecked or unsafe operations? Java Basics - Anfänger-Themen 6
ZH1896ZH OOP Verstehe nicht was der Hinweis bedeutet, bitte um Hilfe! Java Basics - Anfänger-Themen 2
O Was bedeutet das hier 999_983? Java Basics - Anfänger-Themen 2
D Was bedeutet diese Schreibweise? Java Basics - Anfänger-Themen 9
W Was bedeutet im Struktogramm „zufall“ aufrufen (keine Parameterübergabe)? Java Basics - Anfänger-Themen 8
R Was bedeutet -1 Java Basics - Anfänger-Themen 2
V OOP Was bedeutet das "aBruch" Java Basics - Anfänger-Themen 6
U Was bedeutet $@ in der Linux Kommandozeile Java Basics - Anfänger-Themen 3
dave253 Was bedeutet (String args[])? Java Basics - Anfänger-Themen 6
D was bedeutet this. bei Konstruktoren? Java Basics - Anfänger-Themen 4
N Was bedeutet "Implementierung vor dem Client verbergen" bei Design Patterns? Java Basics - Anfänger-Themen 2
G Methoden Was bedeutet return in einer Methode Java Basics - Anfänger-Themen 5
V Was bedeutet das? Java Basics - Anfänger-Themen 4
G zeile: Was bedeutet das in der Methode? Java Basics - Anfänger-Themen 4
Y Was bedeutet "this" ohne dem Punkt und dem Atrributnamen danach? Java Basics - Anfänger-Themen 2
M was bedeutet setEnabled Java Basics - Anfänger-Themen 12
F Was bedeutet '@'? Java Basics - Anfänger-Themen 3
F Frage von einem Neuling: Was bedeutet Scanner scanner ? Java Basics - Anfänger-Themen 5
K Schlüsselworte Was bedeutet oder was ist die SIGNATUR?? Java Basics - Anfänger-Themen 4
O Was bedeutet public class value? Java Basics - Anfänger-Themen 3
A Was bedeutet der Operator *= ? Java Basics - Anfänger-Themen 2
N Was bedeutet << Java Basics - Anfänger-Themen 5
G Was bedeutet diese Zeile? Java Basics - Anfänger-Themen 2
J Was bedeutet This. ? Java Basics - Anfänger-Themen 4
D Was genau bedeutet und bewirkt dieses @override? Java Basics - Anfänger-Themen 15
J Was bedeutet dieses a [i].length? Java Basics - Anfänger-Themen 3
D Was bedeutet < > Java Basics - Anfänger-Themen 4
D Was bedeutet das ?: Java Basics - Anfänger-Themen 9
B Was bedeutet static<T>?? Java Basics - Anfänger-Themen 6
php1 Was bedeutet der Modifier static ? Java Basics - Anfänger-Themen 3
K Was bedeutet das eigentlich.... Java Basics - Anfänger-Themen 18
G Was bedeutet? Java Basics - Anfänger-Themen 7
G Was bedeutet charAt()? Java Basics - Anfänger-Themen 5
J Was bedeutet der Doppelpunkt ":" ? Java Basics - Anfänger-Themen 3
G was bedeutet //TODO Java Basics - Anfänger-Themen 4
A Was bedeutet folgende Programmcodezeile genau Java Basics - Anfänger-Themen 6
B was bedeutet "this" Java Basics - Anfänger-Themen 8
L Was bedeutet das Wort "this" ? Java Basics - Anfänger-Themen 2
K was bedeutet '?' Java Basics - Anfänger-Themen 3
R Was bedeutet diese Zeile. Java Basics - Anfänger-Themen 8
S was bedeutet Typisiert? Java Basics - Anfänger-Themen 3
D Was bedeutet : ? Java Basics - Anfänger-Themen 4
M public static void main(String... args)<- Was bedeutet das? Java Basics - Anfänger-Themen 5
H Was bedeutet "class Liste<E>" Java Basics - Anfänger-Themen 2
J was bedeutet null Java Basics - Anfänger-Themen 7
padde479 Compiler-Frage: Was bedeutet deprecated? Java Basics - Anfänger-Themen 4
P Was genau bedeutet Feld Java Basics - Anfänger-Themen 3
G Was bedeutet diese Fehlermeldung von Tomcat Java Basics - Anfänger-Themen 29
G indexOf() - was bedeutet -1 ? Java Basics - Anfänger-Themen 27
P Was genau bedeutet "public static void main(String[] ar Java Basics - Anfänger-Themen 10
G setName bei JTextfield. Was bedeutet das? Java Basics - Anfänger-Themen 7
B Was bedeutet synchronized? Java Basics - Anfänger-Themen 8
D was bedeutet " Seiteneffekt " ? Java Basics - Anfänger-Themen 4
ohneInformatik; For Schleife. Was macht dieser Code?? Java Basics - Anfänger-Themen 5
K Warum zeigt dieser reguläre Ausdruck true an? Java Basics - Anfänger-Themen 1
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
S Warum dieser Fehler? Java Basics - Anfänger-Themen 1
B Datum in dieser Range SQL? Java Basics - Anfänger-Themen 3
R Dieser Code sagt mir nichts... Java Basics - Anfänger-Themen 4
D Erste Schritte Lösen dieser Aufgabe, Hilfe! Java Basics - Anfänger-Themen 12
J Brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 3
F Wieso wird dieser Befehl nicht ausgeführt? (Anfänger) Java Basics - Anfänger-Themen 2
M Frage, wie dieser Code funktioniert, bzw. weshab er bei mir nicht funktioniert Java Basics - Anfänger-Themen 4
L Hilfe! Was macht dieser Code? Java Basics - Anfänger-Themen 1
V Operatoren Warum kommt nicht das gewünschte Ergebnis dieser Operation? Java Basics - Anfänger-Themen 3
R Gibt es Eine einfache Programierung dieser Methoden Java Basics - Anfänger-Themen 8
G Lastet dieser Code den Arbeitsspeicher eines Handys aus? Java Basics - Anfänger-Themen 7
B Was passiert in dieser Methode? Java Basics - Anfänger-Themen 3
Nicole1989 Was Bewirkt dieser Java Code? Java Basics - Anfänger-Themen 4
B Summe aller Zahlen von 1 bis zu dieser Zahl (ohne while oder for schleife) Java Basics - Anfänger-Themen 4
J Wo liegt nur an dieser einfachen Bedingung mein Fehler? Java Basics - Anfänger-Themen 8
A Wieso funktioniert dieser Timer nicht?? Java Basics - Anfänger-Themen 3
C Warum funktioniert dieser Code nicht? Java Basics - Anfänger-Themen 2
A Lässt sich dieser Ausdruck irgendwie einfacher schreiben? Java Basics - Anfänger-Themen 4
H Geht dieser Code noch einfacher (try catch finally) Java Basics - Anfänger-Themen 7
P Geht dieser Code noch einfacher? Java Basics - Anfänger-Themen 16
G Bitte um Erklärung dieser einer Zeile Java Basics - Anfänger-Themen 5
F OOP Warum funktioniert dieser Regex? Java Basics - Anfänger-Themen 15
P Unterschied dieser 2 code Zeilen Java Basics - Anfänger-Themen 12
StrikeTom Was ist an dieser einfachen funktion falsch? Java Basics - Anfänger-Themen 5
M Wieso funktioniert dieser simple Code nicht? Java Basics - Anfänger-Themen 9
M prozess starten und warten bis dieser sich beendet Java Basics - Anfänger-Themen 3
P Was macht dieser Source code? Java Basics - Anfänger-Themen 5
S OOP Wie muss meine Klasse zu dieser main aussehen? Java Basics - Anfänger-Themen 5
H Wie so ein Exception in dieser HashMap? Java Basics - Anfänger-Themen 7
K Was wird in dieser Frage gemeint ? Java Basics - Anfänger-Themen 15
V Wie und wieso geht dieser Methodenaufruf? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben