Schrödinger programmiert Java?

Hallo,

ich arbeite gerade an dem Lehrbuch Schrödinger programmiert Java und das zweite Programm davon läuft nicht richtig. Nämlich das Programm "WoWTextadventure".

Der Code selber ist fehlerfrei, aber nach dem Starten kommt eine Fehlermeldung, die sich auf den Codeabschnitt "throws Exception" bezieht.

Ich habe den Code nun einkopiert und hoffe, dass mir jemand da weiterhelfen kann:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

// 05.09.2018
// Schrödinger-Java
// Text-Adventure
// Seite 52

package wowtextadventure;
        
/*
 * @author Besitzer
 */
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.IOException.*; // hat nichts geholfen
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/** //" + args[0] + "
 * 
 * @author Philip Ackermann
 * 
 */
// läuft nicht obwohl keine Fehler angezeigt werden.
// genauso steht es im Lehrbuch

public class WowTextadventure {

  public static void main(String[] args) throws IOException {
    System.out.println("Hallo " +args[0]+ " willkommen in der World of Warcraft. Du befindest dich im Dorf Buxelknuxel.");
    System.out.println("Verwende die Tasten 'N', 'O', 'S' und 'W', um dich zu bewegen, und 'I', um einen Blick in dein Inventar zu werfen.");
    System.out.println("Mit 'Q' verlässt du das Spiel.");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String befehl;

    while ((befehl = br.readLine()) != null) {
      switch (befehl.toLowerCase()) {
        case "n":
          System.out.println("Du gehst nach Norden.");
          break;
        case "o":
          System.out.println("Du gehst nach Osten.");
          break;
      case "s":
          System.out.println("Du gehst nach Süden.");
          break;
      case "w":
          System.out.println("Du gehst nach Westen.");
          break;
      case "q":
          System.out.println("Willst du wirklich schon aufgeben? Y/N");
          String bestaetigung = br.readLine();

          switch (bestaetigung.toLowerCase()) {
            case "y":
              System.out.println("Und Tschüss.");
              System.exit(0);
              break;
            case "n":
              System.out.println("Finde ich prima.");
              break;
          }
          break;
        case "":
          System.out.println("Du willst gar nichts machen? Das glaube ich nicht.");
          break;
        case "i":
          System.out.println("Da Du noch nicht die Weisheit des Array-Kundigen erlangt hast, befindet sich in deinem Inventar nur ein einziger Gegenstand: ein Holzschwert.");
          break;
        default:
          System.err.println("Das verstehe ich nicht.");
      }
    }
  }
}

Computer, Schule, Java, schrödinger
Java, Eclipse. Konsolentext in GUI ausgeben?

Ich bin mehr als ein Anfänger. Es ist so, als würde man einem Kindergartenkind das Wurzelrechnen erklären, aber das müsst ihr garnicht, also keine Sorge. Eigendlich möchte ich garkein Programmieren mehr lernen. Ich möchte nur das dieses alte Programm aus ferner Vergangenheit vollständig ist.

Auf jeden Fall, folgendes Szenario:

Ich habe vor mehreren Jahren ein Programm geschrieben in Eclipse. Dieses Programm generiert zufällig Eigenschaften von Menschen z.B. gibt es Größe: klein und Größe: groß und es wird zufällig dazwischen entschieden und eins der Auswahlmöglichkeiten wir dann per System.out.println in der Konsole ausgegeben. Das Ganze läuft mit mehreren Eigenschaften durch, die alle nacheinander in der Konsole ausgegeben werden.

Nun, ich möchte alles, was in der Konsole erscheint in einem GUI ausgeben. JFrame, Textfield... Ich habe ehlich gesagt überhaupt keine Ahnung, was hier Sinn ergibt. Ich möchte nachher eine ausführbare Javadatei haben.

Was ich dafür brauche ist ein GUI, das ich noch nicht erstellt habe, was ich wahrscheinlich alleine auch garnicht vernünftig hinbekomme, und der Code, um in eben jene GUI den Konsolentext auszugeben.

Mein gesamter geschriebener Code ist nur in einer Klasse. Ansonsten habe ich nichts. Das sollte es zumindest etwas einfacher gestalten.

Am liebsten hätte ich einfach einen Code, den ich irgenwo in der selben Klasse einfügen kann und es funktioniert, aber wahrscheinlich ist das Ganze nicht so einfach.

Gibt es jemanden, der wüsste, wie ich meinen Fall so simpel wie möglich umsetzen kann und mir vielleicht sogar den nötigen Code dazu schreiben kann?

Extra: Wäre auch toll, wenn das Programm erst startet, wenn ich auf einen Button klicke und der Text sich an die Größe des Fensters anpasst, aber das ist mir eigendlich nicht wichtig. Hauptsache das Programm startet und der Text wird im Fenster ausgegeben.

Ich bedanke mich ganz herzlich im Voraus!

Computer, programmieren, Java, Eclipse
Wieso rechnet mein Code (JAVA) die Potenzen nicht (siehe Bild)?

Ohne die Methode .pow() der klasse Math werden die Potenzen nicht gerechnet, aber wieso? (Programm zum Hexadezimalzahlen in Dezimalz. umzurechnen)

Hier noch mein Code:

package Uebung07;

import javax.swing.JOptionPane;

public class Hexumrechner {

    public static void main(String[] args) {

String eingabe;
int summe = 0;
int potenz = 0;

eingabe = (JOptionPane.showInputDialog("Hexadezimalzahl in Dezimal und Binär umwandeln:"));

int l = eingabe.length()-1;

while(l >= 0) {

switch(eingabe.charAt(l)) {
case'A': summe += 10*Math.pow(16,potenz);
++potenz;
--l;
break;
case'B': summe += 11*(16^(potenz));
++potenz;
--l;
break;
case'C': summe += 12*(16^(potenz));
++potenz;
--l;
break;
case'D': summe += 13*(16^(potenz));
++potenz;
--l;
break;
case'E': summe += 14*(16^(potenz));
++potenz;
--l;
break;
case'F': summe += 15*(16^(potenz));
++potenz;
--l;
break;
case'1': summe += 1*(16^(potenz));
++potenz;
--l;
break;
case'2': summe += 2*(16^(potenz));
++potenz;
--l;
break;
case'3': summe += 3*(16^(potenz));
++potenz;
--l;
break;
case'4': summe += 4*(16^(potenz));
++potenz;
--l;
break;
case'5': summe += 5*(16^(potenz));
++potenz;
--l;
break;
case'6': summe += 6*(16^(potenz));
++potenz;
--l;
break;
case'7': summe += 7*(16^(potenz));
++potenz;
--l;
break;
case'8': summe += 8*(16^(potenz));
++potenz;
--l;
break;
case'9': summe += 9*(16^(potenz));
++potenz;
--l;
break;

    } } JOptionPane.showMessageDialog(null,summe);    }   }

Bild zum Beitrag
Mathematik, programmieren, Java
Java While-Schleife hört nicht auf?

Hallo. Ich versuche auf Java ein Spiel zu programmieren und meine Schleife hört einfach nicht auf zu laufen also das Spiel hängt sich quasi auf und macht nichts mehr, ihr wisst was ich meine :D
Wäre super lieb wenn mir jemand helfen könnte.

Hier ist mein Code:

boolean nochmal;

   nochmal = true;

   if (läuft) {

     while (nochmal) {

       if (tf_frage.getText().equals("14*6") && tf_eingabe.getText().equals("84")) {

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if

       else if (tf_frage.getText().equals("13*8") && tf_eingabe.getText().equals("104")){

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if-else

       else if(tf_frage.getText().equals("11*12") && tf_eingabe.getText().equals("132")) {

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if-else

       else if (tf_frage.getText().equals("19*4") && tf_eingabe.getText().equals("76")) {

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if-else

       else if (tf_frage.getText().equals("9*16") && tf_eingabe.getText().equals("144")){

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if-else

       else if (tf_frage.getText().equals("12*17") && tf_eingabe.getText().equals("204")) {

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if-else

       else if (tf_frage.getText().equals("16*7") && tf_eingabe.getText().equals("112")) {

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if-else

       else {

         tf_eingabe.setBackground(Color.red);

       } // end of if-else

     } // end of while

   } // end of if

Computer, Java, while-Schleife
Wie kann ich mit Java prüfen, ob ein Satz in einer Textdatei enthalten ist?
else if (event.getSource() == blesen) {
  FileReader fr = null;

  try {
    String text;
    String fileName = "D:/Flo/password/loggin.txt";
    File file = new File(fileName);
    int len = (int)file.length();
    char[] buf = new char[len];

    fr = new FileReader(file);
    fr.read(buf);
    text = new String(buf);

    // ab hier JFrame
    JFrame auslesen = new JFrame("Output Dialog");
    auslesen.setLayout(null);
    auslesen.setVisible(true);
    auslesen.setSize(290, 250);
    auslesen.setResizable(false);
    auslesen.setTitle("Auslesen");

    auslesen.setDefaultCloseOperation(EXIT_ON_CLOSE);
    auslesen.setLocationRelativeTo(null);
    
    // bis hier her JFrame | ab hier dann eingabe feld
    JTextField plattlesen = new JTextField();
    JLabel welcheplatt = new JLabel("<html>Welche Loggin Daten <p /"
      + ">möchtestdu wissen?</p"
      + ">Plattform:</html>");
    
    auslesen.add(bfertiglesen);
    bfertiglesen.setBounds(1, 100, 100, 30);
    auslesen.add(plattlesen);
    plattlesen.setBounds(1, 70, 100, 20);
    auslesen.add(welcheplatt);
    welcheplatt.setBounds(1, 1, 200, 50);

    slesen = plattlesen.getText();
    System.out.println(text);
  }
  catch(IOException ex) {
    System.out.println(ex);
  }
  finally {
    try {
      if (fr!= null) fr.close();
    }
    catch(Exception ex) {
    }
  }
}
else if (event.getSource() == bfertiglesen) {
  slesen = plattlesen.getText();

  if (text.indexOf(slesen)) {
    System.out.println(slesen);
  }
}

Ich möchte prüfen, ob ein eingegebener Satz in einem Textdokument enthalten ist.

Wie mache ich das am besten?

Computer, programmieren, Java
Wie findet ihr meinen Java Taschenrechner?
public static void main(String args []) {
  Scanner s = new Scanner (System.in);
  System.out.println("Hallo, dies ist ein Taschenrechner");
  Methode();
  System.out.println("Möchtest du nochmal rechnen?: j/n");
  String Nochmal = s.next();

  if (Nochmal.equals("j")) {
    Methode();
  }
  else
  {
    System.out.println("Vielen Dank und auf Wiedersehen!");
  }
}

public static void Methode() {
  Scanner s = new Scanner (System.in);
  boolean bool;
  System.out.println("Wähle eine Rechenoperation aus. Zur Auswhl stehen: +,-,/,");
  String Operationszeichen = s.next();

  do {
    if (Operationszeichen.equals("+")) {
      System.out.println("Eingabe bestätigt.");
      bool = true;
    }
    else if (Operationszeichen.equals("-")) {
      System.out.println("Eingabe bestätigt.");
      bool = true;
    }
    else if (Operationszeichen.equals("/")) {
      System.out.println("Eingabe bestätigt.");
      bool = true;
    }
    else if (Operationszeichen.equals("")) {
      System.out.println("Eingabe bestätigt.");
      bool = true;
    }
    else {
      bool = false;
      System.out.println("Eingabe nicht verstanden. Bitte wähle eine gültige Rechenoperation aus.");
      Operationszeichen = s.next();
    }
  }

  while(bool == false);

  System.out.println("Nun gib zwei Zahlen ein, mit denen gerechnet werden soll");
  double a = s.nextInt();
  double b = s.nextInt();
  double c;

  if (Operationszeichen.equals("+")) {
    c = a + b;
  }
  else if (Operationszeichen.equals("-")) {
    c = a - b;
  }
  else if (Operationszeichen.equals("/")) {
    c = a / b;
  }
  else {
    c = a * b;
  }

  System.out.println("Das ergebnis lautet: " + c);
}
programmieren, Java
Ich versuche einen Taschenrechner mit Java zu programmieren, warum wiederholt sich die do-while-Schleife nicht, wenn.....?

man eine ungülgite Rechenoperation auswählt?

Stattdessen springt er aus der Schleife und macht mit der nächsten Ausgabe weiter.

Scanner s = new Scanner (System.in);
        
        
        System.out.println("Hallo, dies ist ein Taschenrechner.\nWähle eine Rechenoperation aus. Zur Auswhl stehen: +,-,/,");         String Eingabe = s.next();                  boolean bool;                           do         {             if (Eingabe.equals("+")) {                 System.out.println("Eingabe bestätigt.");                 bool=true;}             else if(Eingabe.equals("-")) {                 System.out.println("Eingabe bestätigt.");                 bool=true;}             else if(Eingabe.equals("/")) {                 System.out.println("Eingabe bestätigt.");                 bool=true;}             else if(Eingabe.equals("")) {
                System.out.println("Eingabe bestätigt.");
                bool=true;}
            else {System.out.println("Eingabe nicht verstanden. Bitte wähle eine gültige Rechenoperation aus.");
                bool=false;
                Eingabe = s.next();
                
                }
            
        }while(bool = false);
    
        System.out.println("Nun gib zwei Zahlen ein, mit denen gerechnet werden soll");

        

Hier nochmal als Bild

https://www2.pic-upload.de/img/35478781/Unbenannt.png

      

Computer, Schule, programmieren, Java

Meistgelesene Beiträge zum Thema Java