Java – die neusten Beiträge

Schere ,Stein, Papier in Java?

Hallo, ich bin noch Anfänger in Java und kenne mich nicht besonders gut mit dem Programm aus. Wollte deshalb als Übung Schere, Stein Papier programmieren. Habe im Prinzip ein fertiges Programm, doch wenn ich die erste Antwort eingebe, wird mir eine Fehlermeldung angezeigt. Könnte mir jemand erklären was diese bedeutet und was ich an meinem Code verändern muss?

Code:

import java.util.Scanner;

public class scheresteinpapier {

  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in); 

    int runden= 0;

    int schere = 1;

int stein = 2;

int papier = 3;

    int user=0;

    int pc=0;

   int userchoice;

   

   double pcchoice;

     

    while(runden<3)

    {

      System.out.print("Waehle Schere, Stein oder Papier.");

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

    userchoice = scanner.nextInt();

    if (userchoice==schere)

{

  if(pcchoice==schere)

  {

    System.out.print("Unentschieden!");

  }

  else if(pcchoice==stein){

    System.out.print("Der PC hat diese Runde gewonnen!");

    pc++;

  }

  else{

    System.out.print("Du hast diese Runde gewonnen!");

     user++;

  }

}  

else if (userchoice==stein)

{

  if(pcchoice==schere)

  {

   System.out.print("Du hast diese Runde gewonnen!");

   user++;

  }

  else if(pcchoice==stein){

    System.out.print("Unentschieden!");

  }

  else{

   System.out.print("Der PC hat diese Runde gewonnen!");

   pc++;

  }

}  

else {

  if(pcchoice==schere)

  {

   System.out.print("Der PC hat diese Runde gewonnen!");

   pc++;

  }

  else if(pcchoice==stein){

    System.out.print("Du hast diese Runde gewonnen!");

    user++;

  }

  else{

     System.out.print("Unentschieden!");

  }

}  

    runden+=1;

    }

    if (pc==user)

    {

      System.out.print("Das Spiel ist unentschieden ausgangen!");

    }

    else if (pc<user){

       System.out.print("Du hast das Spiel gewonnen!");

    }

    else{

       System.out.print("Der Pc hast das Spiel gewonnen!");

    }

  }

}

Fehlermeldung:

ERROR!

Exception in thread "main" java.util.InputMismatchException

at java.base/java.util.Scanner.throwFor(Scanner.java:939)

at java.base/java.util.Scanner.next(Scanner.java:1594)

at java.base/java.util.Scanner.nextInt(Scanner.java:2258)

at java.base/java.util.Scanner.nextInt(Scanner.java:2212)

at scheresteinpapier.main(scheresteinpapier.java:21)

Java, Code

Java Fx Eclipse Projekt exportieren funktioniert nicht?

Hallo, ich habe ein Programm in Eclipse geschrieben. Extern geholt habe ich mir dafür die Bibliotheken "Java FX" und "Java SDK". Das problem ist, dass ich schon beim Exportieren als "runnable JAR-file" ganz of die Fehlermeldung bekomme, dass es zu oft eine module-info gäbe (duplicate module-info). Allerdings wird die module info von mir nur einmal definiert. Laut diversen Videos ist der fehler aber anscheinend egal. Sie können die Datei nach dem Exportieren trotzdem öffnen. Wenn ich die exportierte Datei mit Java SDX öffnen will, dann passiert nichts. Kurz kommt der ladekreis über dem Mauszeiger und dann ist's vorbei. Über CMD habe ich nachgesehen was das Problem sein könnte. Anscheinend kann die Hauptklasse nicht gefunden werden. (Obwohl ich meine Hauptklasse beim exportieren aber definiert habe). Dann habe ich versucht eine Systemvarbiable im Path hunzuzufügen. Hat auch nichts gebracht. Die Versionen stimmen überein. Sowohl die Java SDX mit FX als auch Excplise. Ein Kollege wollte auch schon mit seinem entwickler tool meines exportieren (er verwendet Marven). Hat auch bei ihm nicht funktionniert. Ich hab auch schon in meinen Projekt Properties die Run-Depug einstellungen gelöscht, meine eigene erstellt und auch VM-Argumente eingefügt (--module-path /path/to/JavaFX/lib --add-modules=javafx.controls , javafx.fxml, javafx.graphics). Nichts hat funktioniert, ich weiß wirklich nicht mehr weiter.

Java, Eclipse, JavaFX, exportieren

Könnt ihr mir bei meinem Processing-Spiel helfen?

Hey, ich habe eine Frage zu einem Java-Code. Und zwar habe ich ein unfertiges Spiel gemacht, wo drei Kugeln herunterfallen und wieder oben erscheinen, falls diese ganz unten angekommen sind.

Im Programmieren bin ich noch ein Anfänger und ich habe nicht so viel Wissen dazu.

Mit den Pfeiltasten rechts und links kann man unten das Rechteck bewegen.

Die Kugeln erhalten immer eine neue Farbe, wenn sie oben neu erscheinen.

Meine zwei Fragen wären:

  1. Wie kann ich es so machen, dass, wenn eine Kugel wieder oben erscheint, nur diese vom fill-Befehl betroffen ist und somit nicht das Rechteck und alle anderen Kugeln eine neue Farbe erhalten, wenn eine Kugel oben neu erscheint (Priorität)?
  2. Wie kann ich die Bewegung vom Rechteck smoother machen? Weil wenn man zu schnell rechts und links drückt, dann laggt das und geht irgendwie in die entgegengesetze Richtung, die man drückt (optional).

Den Code habe ich in Processing geschrieben.

Ich bedanke mich schon einmal im Voraus für jede Antwort.

Hier der Code:

float x = 200; // Rechts-, Links-Wert für den Eimer
float x1 = 250; // Wo die 1. Kugel sich horizontal befindet
float y1 = 0; // Wo die 1. Kugel sich vertikal befindet
float x2 = 100; // Wo die 2. Kugel sich horizontal befindet
float y2 = 50; // Wo die 2. Kugel sich vertikal befindet
float x3 = 385; // Wo die 3. Kugel sich horizontal befindet
float y3 = 250; // Wo die 3. Kugel sich vertikal befindet

void setup() {
  size(500, 500);
}

void draw() {
  background(0, 255, 0);

  // Die fallenden Kugeln:

  // 1. Kugel
  ellipse(x1, y1, 50, 50);
  y1 = y1 + 2;

  if (y1 > 500) {
    fill(random(0, 255));
    y1 = 0;
    x1 = random(50, 450);
  }

  // 2. Kugel
  ellipse(x2, y2, 50, 50);
  y2 = y2 + 2;

  if (y2 > 500) {
    fill(random(0, 255));
    y2 = 0;
    x2 = random(50, 450);
  }

  // 3. Kugel
  ellipse(x3, y3, 50, 50);
  y3 = y3 + 2;

  if (y3 > 500) {
    fill(random(0, 255));
    y3 = 0;
    x3 = random(50, 450);
  }

  // Der Eimer:
  noStroke();
  rect(x, 400, 100, 50);

  if (keyPressed) {
    if (keyCode == LEFT && x >0) {
      x = x - 5;
    }

    if (keyCode == RIGHT && x <400) {
      x = x + 5;
    }
  }
}
Java, Code, Programmiersprache

Meistgelesene Beiträge zum Thema Java