Erste Schritte Weitere Befehle implementieren

Status
Nicht offen für weitere Antworten.

Devanther

Top Contributor
Hallo,

erstmal, den Thread bitte nicht schießen.

Aufgabe:
Es sollen die Befehle take, drop und status hinzugefügt werden.
Immer noch das Spiel Zuul.
Damit halt Gegenstände aufgenommen und abgelegt werden können.
Bzw. soll ausgeben werden wieviele Gegenstände man bei sich trägt.

Klasse Spiel:
Code:
/**
*  Dies ist die Hauptklasse der Anwendung "Die Welt von Zuul".
*  "Die Welt von Zuul" ist ein sehr einfaches, textbasiertes
*  Adventure-Game. Ein Spieler kann sich in einer Umgebung bewegen,
*  mehr nicht. Das Spiel sollte auf jeden Fall ausgebaut werden,
*  damit es interessanter wird!
*
*  Zum Spielen muss eine Instanz dieser Klasse erzeugt werden und
*  an ihr die Methode "spielen" aufgerufen werden.
*
*  Diese Instanz dieser Klasse erzeugt und initialisiert alle
*  anderen Objekte der Anwendung: Sie legt alle Räume und einen
*  Parser an und startet das Spiel. Sie wertet auch die Befehle
*  aus, die der Parser liefert und sorgt für ihre Ausführung.
*
* @author  Michael Kölling und David J. Barnes
* @version 31.07.2011
*/

import java.util.ArrayList;

class Spiel
{
    private Parser parser;
    private Raum aktuellerRaum;
    private Gegenstand aktuellerGegenstand;
    private ArrayList<Gegenstand> gegenstaende;
 
    private Gegenstand buch;
    private Gegenstand computer;
 
    private Spieler spieler;
    private String gegenstand;
    private String Gegenstand;
    
    /**
     * Erzeuge ein Spiel und initialisiere die interne Raumkarte.
     */
    public Spiel()
    {
        raeumeAnlegen();
        parser = new Parser();
    
    
   
    }

    /**
     * Erzeuge alle Räume und verbinde ihre Ausgänge miteinander.
     */
    private void raeumeAnlegen()
    {
        Raum draussen, hoersaal, cafeteria, labor, buero, keller;
  
        // die Räume erzeugen
        draussen = new Raum("vor dem Haupteingang der Universität");
        hoersaal = new Raum("in einem Vorlesungssaal");
        cafeteria = new Raum("in der Cafeteria der Uni");
        labor = new Raum("in einem Rechnerraum");
        buero = new Raum("im Verwaltungsbüro der Informatik");
        keller = new Raum("im Keller");
    
        // die Ausgänge initialisieren
        draussen.setzeAusgang("east", hoersaal);
        draussen.setzeAusgang("south", labor);
        draussen.setzeAusgang("west", cafeteria);

        hoersaal.setzeAusgang("west", draussen);

        cafeteria.setzeAusgang("east", draussen);

        labor.setzeAusgang("north", draussen);
        labor.setzeAusgang("east", buero);

        buero.setzeAusgang("west", labor);
        buero.setzeAusgang("down", keller);
    
        keller.setzeAusgang("up", buero);
    
        //Gegenstände erzeugen
    
        buch = new Gegenstand("Buch", 150);
        computer = new Gegenstand("Computer", 1500);
        keller.addGegenstand(buch);
        buero.addGegenstand(computer);
    
    
    
    
    
        aktuellerRaum = draussen;  // das Spiel startet draussen
    }

    /**
     * Die Hauptmethode zum Spielen. Läuft bis zum Ende des Spiels
     * in einer Schleife.
     */
    public void spielen()
    {        
        willkommenstextAusgeben();

        // Die Hauptschleife. Hier lesen wir wiederholt Befehle ein
        // und führen sie aus, bis das Spiel beendet wird.
            
        boolean beendet = false;
        while (! beendet) {
            Befehl befehl = parser.liefereBefehl();
            beendet = verarbeiteBefehl(befehl);
        }
        System.out.println("Danke für dieses Spiel. Auf Wiedersehen.");
    }
 
    private void umsehen()
    {
        System.out.println(aktuellerRaum.gibLangeBeschreibung());
        System.out.println(aktuellerRaum.gibGegenstaendeAlsString());
    }
 
    private void essen()
    {
        System.out.println(aktuellerRaum.gibEssensBeschreibung());
    }
 
    private void befehlTake()
    {
     System.out.println(spieler.gegenstandAufnehmen(gegenstand()));
    }
 
    public String gegenstand()
    {
        return gegenstand;
    }
 
 
 
    private void rauminfoAusgeben()
    {
      System.out.println("Sie sind " + aktuellerRaum.gibBeschreibung());
      System.out.print("Ausgänge: ");
      if (aktuellerRaum.gibAusgang("north") != null) {
          System.out.print("north ");
      }
      if(aktuellerRaum.gibAusgang("east") != null) {
          System.out.print("east ");
      }
      if(aktuellerRaum.gibAusgang("south") != null) {
          System.out.print("south ");
      }
      if(aktuellerRaum.gibAusgang("west") != null) {
          System.out.print("west ");
      }
      System.out.println();
    }
    
    
 
    /**
     * Einen Begrüßungstext für den Spieler ausgeben.
     */
    private void willkommenstextAusgeben()
    {
        System.out.println();
        System.out.println("Willkommen zu Zuul!");
        System.out.println("Zuul ist ein neues, unglaublich langweiliges Spiel.");
        System.out.println("Tippen sie 'help', wenn Sie Hilfe brauchen.");
        System.out.println();
        System.out.println(aktuellerRaum.gibLangeBeschreibung());
    }

    /**
     * Verarbeite einen gegebenen Befehl (führe ihn aus).
     * @param befehl Der zu verarbeitende Befehl.
     * @return 'true', wenn der Befehl das Spiel beendet, 'false' sonst.
     */
    private boolean verarbeiteBefehl(Befehl befehl)
    {
        boolean moechteBeenden = false;

        if(befehl.istUnbekannt()) {
            System.out.println("Ich weiss nicht, was Sie meinen...");
            return false;
        }

        String befehlswort = befehl.gibBefehlswort();
        if (befehlswort.equals("help")) {
            hilfstextAusgeben();
        }
        else if (befehlswort.equals("go")) {
            wechsleRaum(befehl);
        }
        else if (befehlswort.equals("look")) {
            umsehen();
        }
        else if (befehlswort.equals("eat")) {
            essen();
        }
        else if (befehlswort.equals("take")) {
            befehlTake();
        }
        else if (befehlswort.equals("quit")) {
            moechteBeenden = beenden(befehl);
        }
        // ansonsten: Befehl nicht erkannt.
        return moechteBeenden;
    }

    // Implementierung der Benutzerbefehle:

    /**
     * Gib Hilfsinformationen aus.
     * Hier geben wir eine etwas alberne und unklare Beschreibung
     * aus, sowie eine Liste der Befehlswörter.
     */
    private void hilfstextAusgeben()
    {
        System.out.println("Sie haben sich verlaufen. Sie sind allein.");
        System.out.println("Sie irren auf dem Unigelände herum.");
        System.out.println();
        System.out.println("Ihnen stehen folgende Befehle zur Verfügung:");
        parser.zeigeBefehle();
    }

    /**
     * Versuche, in eine Richtung zu gehen. Wenn es einen Ausgang gibt,
     * wechsele in den neuen Raum, ansonsten gib eine Fehlermeldung
     * aus.
     */
    private void wechsleRaum(Befehl befehl)
    {
        if(!befehl.hatZweitesWort()) {
            // Gibt es kein zweites Wort, wissen wir nicht, wohin...
            System.out.println("Wohin möchten Sie gehen?");
            return;
        }

        String richtung = befehl.gibZweitesWort();

        // Wir versuchen, den Raum zu verlassen.
        Raum naechsterRaum = aktuellerRaum.gibAusgang(richtung);

        if (naechsterRaum == null) {
            System.out.println("Dort ist keine Tür!");
        }
        else {
            aktuellerRaum = naechsterRaum;
            System.out.println(aktuellerRaum.gibLangeBeschreibung());
        }
    }

    /**
     * "quit" wurde eingegeben. Überprüfe den Rest des Befehls,
     * ob das Spiel wirklich beendet werden soll.
     * @return 'true', wenn der Befehl das Spiel beendet, 'false' sonst.
     */
    private boolean beenden(Befehl befehl)
    {
        if(befehl.hatZweitesWort()) {
            System.out.println("Was soll beendet werden?");
            return false;
        }
        else {
            return true;  // Das Spiel soll beendet werden.
        }
    }
}

Klasse Spieler:
Code:
/**
* Beschreiben Sie hier die Klasse Spieler.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
import java.util.ArrayList;
import java.util.HashMap;
public class Spieler
{
    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
    private int x;
 
    private String name;
 
    private Raum aktuellerRaum;
 
    private ArrayList<Gegenstand> gegenstaende;
 
    private HashMap<String, Raum> ausgaenge;
 
    private String vorhandenerGegenstand;
    private String Gegenstand;
    private String gegenstand;
    /**
     * Konstruktor für Objekte der Klasse Spieler
     */
    public Spieler(String beschreibung)
    {
        gegenstaende = new ArrayList<Gegenstand>();
        ausgaenge = new HashMap<String, Raum>();
        // Instanzvariable initialisieren
        x = 0;
    }
  
    public String gegenstand()
    {
        return gegenstand;
    }
 
 
    public void gegenstandAufnehmen (Gegenstand gegenstand){
        for(Gegenstand aktuellerGegenstand: gegenstaende){
            if(aktuellerGegenstand.gibBeschreibung() == gegenstand.gibBeschreibung() ){
                System.out.println("Es existiert bereits ein Gegenstand mit diesem Namen!");
                return;
            }
        }
        gegenstaende.add(gegenstand);
    }
 
 
  public void status()
{
   for(Gegenstand aktuellerGegenstand: gegenstaende){
    System.out.println(aktuellerGegenstand.toString());

}
}
public void gegenstandAblegen()
    {
        if(gegenstand > 0) {
            gegenstand--;
        }
        else {
            System.out.println(
                "Versuch Gegenstand abzulegen");
        }
    }

}

Leider bekomm ich die Fehlermeldung nicht weg.
https://imgur.com/a/AoPqn

Code:
public void gegenstandAufnehmen (Gegenstand gegenstand){
        for(Gegenstand aktuellerGegenstand: gegenstaende){
            if(aktuellerGegenstand.gibBeschreibung() == gegenstand.gibBeschreibung() ){
                System.out.println("Es existiert bereits ein Gegenstand mit diesem Namen!");
                return;
            }
        }
        gegenstaende.add(gegenstand);
    }
 
 
  public void status()
{
   for(Gegenstand aktuellerGegenstand: gegenstaende){
    System.out.println(aktuellerGegenstand.toString());

}
}
public void gegenstandAblegen()
    {
        if(gegenstand > 0) {
            gegenstand--;
        }
        else {
            System.out.println(
                "Versuch Gegenstand abzulegen");
        }
    }

Die Methoden sind wohl nicht ganz richtig, wie schreibe ich sie richtig?
Was ist falsch und warum?
Und wie kommt die Fehlermeldung weg?
Wenn die Methoden richtig sind, werde ich versuchen sie aufzurufen.
 
Zuletzt bearbeitet:

Sasuke

Mitglied
Hey,

der Fehler ist absolut triviel und offentsichtlich. Vergleich mal die verlangten Parameter von gegenstandAufnehmen(Gegenstand) und den Rückgabewert von gegenstand(). Hier fehlen wieder absolute Basics. Diesen Fehler zeigt dir jede vernünftige IDE an aber daa bringt dir auch nicht wenn dein Horizont so miniklein ist. Man hat das Gefühl du würdest gar nicht denken bei dem was du tust.

Setz dich nochmal an die Basics, solche "Fehler" wie das hier sind absolut unterstes Niveau, das MUSST du draufhaben um etwas programmieren zu können.

So ziemlich jede Methode die du oben zeigst ist in irgendeiner Hinsicht falsch und es sind fast alles absolute Grundlagenfehler. Falls das hier wieder so wie immer weitergeht zieh ich vorsichtshalber schonmal @Flown dazu.

Mit freundlichen Grüßen
Sasuke
 

Meniskusschaden

Top Contributor
Und wie kommt die Fehlermeldung weg?
Wenn du das Buch bis zu dieser Aufgabe durchgearbeitet hättest, müsstest du das Problem anhand der Fehlermeldung innerhalb weniger Sekunden erkennen und lösen können.
https://panjutorials.de/tutorials/der-ultimative-java-kurs/

Den Kurs habe ich mal für 39 € gekauft.
Leider werden da nur absolute Grundlagen vermittelt, kein Tiefgang.
Das passt doch gut. Wie schon alle vorigen Threads zeigt auch dieser wieder deutlich, was dir fehlt: absolute Grundlagen.
Du solltest dich endlich mal ernsthaft damit beschäftigen. Wenn du dabei Probleme hast, kannst du ja hier Fragen dazu stellen.
 

Flown

Administrator
Mitarbeiter
@Devanther dieser Thread, wie auch deine vorherigen Threads, erfragen schon wieder das WIE.
Hier sollen keine fertigen Lösungen geliefert, sondern dein Verständnis gemehrt und vertieft, werden.

Doch irgendwie bleiben die "AHA"-Erlebnisse aus, denn es sind Materialien/Aufgaben, für die du scheinbar noch nicht bereit bist.

Es scheitert ja schon mal daran, deinen eigenen Code zu verstehen.

PS: Strings vergleicht man mit equals und nicht mit ==

Mod-Note: Wenn die Fragen sich jetzt weiter so ziehen, wird das gleich wieder geschlossen.
 

Harry Kane

Top Contributor
Java:
    private String vorhandenerGegenstand;
    private String Gegenstand;
    private String gegenstand;
Also die Deklaration ist wohl ein schlechter Scherz. Was sollen die drei Strings mit sehr ähnlicher Benennung und offenbar mehr oder weniger identischer Aufgabe? Bei solchen sinnlosen Dubletten ist es kein Wunder, warum du den Code nicht verstehst. Manchmal muss man eben mal aufräumen, bevor es produktiv weitergeht.
Krass finde ich auch, das zusätzlich zu dem im vorangehenden Absatz geschildetern Durcheinander die Variable "gegenstand" einmal als Methodenparameter vom Typ "Gegenstand" verwendet wird, und an einer anderen Stelle auf "gegenstand > 0" verglichen wird, was impliziert, das "gegenstand" ein int, float, oder double ist.
Zussätzlich hat "Spieler" noch die Variable "name", "aktuellerRaum", und "ausgaenge", die nicht verwendet werden.
Lösch diesen ganzen Käse mal raus, damit man den Wald vor lauter Bäumen wieder sieht.
 
Zuletzt bearbeitet:

AndiE

Top Contributor
Erstmal: "Back" ist in dem Code nun doch nicht implementiert.

Zur Frage:
Das Buch heißt im Untertitel "objects first", und das solltest du mal verinnerlichen. Im vorliegenden Fall ist es so, dass ein Spieler einen Gegenstand aufnehmen kann, wenn er in dem Raum vorhanden ist UND der Spieler so einen Gegenstand noch nicht besitzt. Dies nennt man die "Use-Story", deren Anwendung in dem Buch auch beschrieben ist, soweit ich mich erinnere. Bevor du dich an die Tastatur setzt, solltest du dir mit Papier und Stift mal das Klassendiagramm aufzeichnen und die Beziehungen zwischen den vorhandenen Klassen. BlueJ zeigt das ja im Prinzip schon. Dann kannst du erstmal den "Schreibtischtest" machen. Das bedeutet, du spielst die Funktion deines Programmes durch, auch ohne, dass du am PC sitzt.

PS: Sollte ich mich im Ton vergreifen, bitte ich um Nachricht durch die Admins.
 

Devanther

Top Contributor
Du solltest dich endlich mal ernsthaft damit beschäftigen. Wenn du dabei Probleme hast, kannst du ja hier Fragen dazu stellen.

Hier sollen keine fertigen Lösungen geliefert, sondern dein Verständnis gemehrt und vertieft, werden.

Ich bekomme die Fehlermeldung leider nicht weg, ich weiss dass das sehr offensichtlich ist -.-
Ich kann mit der Fehleranzeige auch nichts anfangen.
Kann jemand kurz helfen?

@Sasuke
Das ist hier der Grundlagenbereich und ich bin noch nicht solange dabei.
Wie schon mal gesagt, du musst meine Threads nicht beachten. Lass dich nicht stören!

Ich will dieses Projekt/Zuul dazu nutzen die Grundlagen zu verbessern.
Soviel hatte ich auch mit Grundlagen noch nicht zutun...!
 
Zuletzt bearbeitet:

Harry Kane

Top Contributor
Soviel hatte ich auch mit Grundlagen noch nicht zutun
... weil du sie dir nie angeschaut hast, was der Grund dafür ist, dass du selbst einfachste Fehlern nicht selbst beheben kannst. Das wurde dir im übrigen schon mehrfach gesagt, umgesetzt hast du aber bisher nichts.
Zum Fehler: die Methode gegenstand() aus der Raum-Klasse gibt die Stringvariable "gegenstand" zurück, aber die Methode gegenstandAufnehmen aus der Spieler-Klasse erwartet keinen String-Parameter, sondern eine Instanz von Gegenstand.
 

Devanther

Top Contributor
Du meinst die Methode

Code:
public void addGegenstand(Gegenstand gegenstand)
    {
        gegenstaende.add(gegenstand);
    
    }
? Aus der Klasse Raum?

aber die Methode gegenstandAufnehmen aus der Spieler-Klasse erwartet keinen String-Parameter, sondern eine Instanz von Gegenstand.

Wie schreibe ich das richtig? Sorry, Instanz von Gegenstand ... ich weiss nicht was gemeint ist! In Code?
Grundlagen habe ich außerdem schon oft gelesen aber selber Code zu schreiben
ist halt was anderes.
 
Zuletzt bearbeitet:

AndiE

Top Contributor
Dann mal eine Frage: Wieso schreibst du zum Start des Spieles sinngemäß?

Java:
Spiel s=new Spiel();
s.spielen();

Welchen Sinn macht das?
 

Harry Kane

Top Contributor
Du meinst die Methode void addGegenstand(Gegenstand gegenstand) aus der Klasse Raum?
Nein, ich meine die Methode, bei der dir ein Fehler angezeigt wird, also die Methode gegenstand() aus der Klasse Raum.
Grundlagen habe ich außerdem schon oft gelesen aber selber Code zu schreiben ist halt was anderes.
In allen deinen bisherigen Beiträgen ging es im Kern um Grundlagen. Fragen zur Softwarearchitektur, Schnittstellendefinition, etc. gab es bisher nicht. Du hast in diesem Forum auch schon oft genug Hilfestellung zu verschiedenen Problemen bekommen, die letztlich zu funktionierendem Code geführt hat (entweder weil dir sehr geduldige Zeitgenossen alles bis ins Detail erklärt haben, oder dir ungeduldige Zeitgenossen die Lösung hingeschrieben haben). Wenn es dir anhand dieser zahlreichen Beispiele immer noch nicht möglich ist, zu ähnlichen Problemen zumindest einen funktionierenden Ansatz zu finden, ist dir wirklich nicht mehr zu helfen.
Was mir bei deinen letzten Beiträgen zunehmend auffällt, dass du dir immer weniger Mühe mit dem Formulieren der Frage gibst. Offenbar gehst du davon aus, dass die Leute, die antworten, noch aus dem letzten gesperrten Thread wissen worum es geht. In deiner aktuellen Frage geht es offenbar um die Zusammenarbeit zwischen den Klassen Raum, Spiel, und Spieler:
- In Spiel werden Benutzereingaben ausgewertet, und danach bestimmte Aktionen ausgelöst bzw. bestimmte Methoden aus den beteiligten Objekten aufgerufen.
- Für den Befehl "take" soll offenbar folgendes gemacht werden:
- Im aktuellen Raum soll nach einem Gegenstand gesucht werden. Der Gegenstand wird anhand seines Namens oder seiner Beschreibung identifziert. Dazu braucht die Klasse Raum eine Methode, die einen String als Parameter bekommt und eine Instanz von Gegenstand zurückgibt. Falls der Raum keinen passenden Gegenstand hat, soll null zurückgegeben und eine entsprechende Meldung ausgegeben werden. Ob die Klasse Raum schon eine passende Methode hat (also zu einem übergebenen String einen passenden Gegenstand oder null zurückliefert), ist unklar, da du den Code der Klassw Raum nicht gepostet hast und ich keine Lust habe danach zu suchen.
- Falls ein passender Gegenstand gefunden wird, soll die Methode gegenstandAufnehmen(Gegenstand gegenstand) der Klasse Spieler aufgrufen werden. Die gibt es ja schon.
Sorry, Instanz von Gegenstand ... ich weiss nicht was gemeint ist!
"Instanz von Gegenstand" ist ein Objekt der Klasse "Gegenstand". Eine ArrayList<Gegenstand> kann z. B. mehrere Instanzen von Gegenstand enthalten.
 

Devanther

Top Contributor
https://imgur.com/a/AoPqn
Die Fehlermeldung kommt ja in der Klasse Spiel.

Klasse Raum:
Code:
import java.util.Set;
import java.util.HashMap;
import java.util.ArrayList;

/**
* Diese Klasse modelliert Räume in der Welt von Zuul.
*
* Ein "Raum" repräsentiert einen Ort in der virtuellen Landschaft des
* Spiels. Ein Raum ist mit anderen Räumen über Ausgänge verbunden.
* Für jeden existierenden Ausgang hält ein Raum eine Referenz auf
* den benachbarten Raum.
*
* @author  Michael Kölling und David J. Barnes
* @version 31.07.2011
*/

class Raum
{
    private String beschreibung;
    private HashMap<String, Raum> ausgaenge;        // die Ausgänge dieses Raums
    private Raum aktuellerRaum;
   
    private ArrayList<Gegenstand> gegenstaende;
   
   
   
    /**
     * Erzeuge einen Raum mit einer Beschreibung. Ein Raum
     * hat anfangs keine Ausgänge.
     * @param beschreibung enthält eine Beschreibung in der Form
     *        "in einer Küche" oder "auf einem Sportplatz".
     */
    public Raum(String beschreibung)
    {
        this.beschreibung = beschreibung;
        ausgaenge = new HashMap<String, Raum>();
        gegenstaende = new ArrayList<Gegenstand>();
       
       
    }
   
    public String gibBeschreibung()
    {
    return beschreibung;
    }   
    
   
    public void addGegenstand(Gegenstand gegenstand)
    {
        gegenstaende.add(gegenstand);
       
    }  
  
   
    /**
     * Definiere einen Ausgang für diesen Raum.
     * @param richtung die Richtung, in der der Ausgang liegen soll
     * @param nachbar der Raum, der über diesen Ausgang erreicht wird
     */
    public void setzeAusgang(String richtung, Raum nachbar)
    {
        ausgaenge.put(richtung, nachbar);
    }
   
     
   
    /**
     * @return die kurze Beschreibung dieses Raums (die dem Konstruktor
     * übergeben wurde).
     */
    public String gibKurzbeschreibung()
    {
        return beschreibung;
    }

    /**
     * Liefere eine lange Beschreibung dieses Raums, in der Form:
     *     Sie sind in der Küche.
     *     Ausgänge: nord west
     * @return eine lange Beschreibung dieses Raumes.
     */
    public String gibLangeBeschreibung()
    {
        return "Sie sind " + beschreibung + ".\n" + gibAusgaengeAlsString();
    }
   
   public String gibEssensBeschreibung()
   {
       return "Sie haben nun gegessen und sind nicht mehr hungrig!";
   }   
   
   
    public String gibAusgaengeAlsString2()
    {
    
       
        String ergebnis = "Ausgänge: ";
     if (aktuellerRaum.gibAusgang("north") != null) {
        ergebnis += "north";
     if (aktuellerRaum.gibAusgang("east") != null) {
        ergebnis += "east"; 
     if (aktuellerRaum.gibAusgang("south") != null) {
        ergebnis += "south";
     if (aktuellerRaum.gibAusgang("west") != null) {
        ergebnis += "west";  
    }
   }
   }   
    }
      return ergebnis;
   }
   
    /**
     * Liefere eine Beschreibung der Ausgänge dieses Raumes,
     * beispielsweise
     * "Ausgänge: north west".
     * @return eine Beschreibung der Ausgänge dieses Raumes.
     */
    private String gibAusgaengeAlsString()
    {
        String ergebnis = "Ausgänge:";
        Set<String> keys = ausgaenge.keySet();
        for(String ausgang : keys)
            ergebnis += " " + ausgang;
        return ergebnis;
    }
     
    public String gibGegenstaendeAlsString()
    {       
      String ergebnis = "";         
      for(Gegenstand aktuellerGegenstand : gegenstaende)
        ergebnis += " " + aktuellerGegenstand.gibBeschreibung();
          return ergebnis;
    }     
   
   
    public Raum gibAusgang(String richtung)
    {
        return ausgaenge.get(richtung);
    } 
   
   
    /**
     * Liefere den Raum, den wir erreichen, wenn wir aus diesem Raum
     * in die angegebene Richtung gehen. Liefere 'null', wenn in
     * dieser Richtung kein Ausgang ist.
     * @param richtung die Richtung, in die gegangen werden soll.
     * @return den Raum in der angegebenen Richtung.
     */
   
}

Die Methode gegenstand() (Klasse Raum) existiert noch nicht, deswegen habe ich mich gewundert.
Du meinst wohl die Methode gegenstand() aus der Klasse Spiel.
Dazu braucht die Klasse Raum eine Methode, die einen String als Parameter bekommt und eine Instanz von Gegenstand zurückgibt. Falls der Raum keinen passenden Gegenstand hat, soll null zurückgegeben und eine entsprechende Meldung ausgegeben werden. Ob die Klasse Raum schon eine passende Methode hat (also zu einem übergebenen String einen passenden Gegenstand oder null zurückliefert), ist unklar

puh, jetzt müsste ich noch wissen wie ich diese Methode in der Klasse Spiel schreibe.
Scheint also doch ein größeres Problem zu sein als gedacht.
Ich bin auch schon sehr müde, werde es mir morgen nochmal ansehen!

Thread offen lassen, ich werde hier morgen weiter machen.....sehr müde!
 

Devanther

Top Contributor
Klasse Spiel Auszug:

Code:
public String gegenstand()
    {
       
         for(Gegenstand aktuellerGegenstand: gegenstaende){
            if(aktuellerGegenstand.gibBeschreibung() == gegenstand.gibBeschreibung() ){
                System.out.println("Sie haben den Gegenstand hochgehoben!");
                return;
          }
        }
        gegenstaende.add(gegenstand);
        {    
     
       
        return null{
           System.out.println(" Es gibt keine Gegenstände im Raum");
        }   
    } 
    }

https://imgur.com/a/vAImY

Jetzt kommt nur noch bei null ne Fehlermeldung.
 

sharkattack

Mitglied
Tut mir Leid, aber ich verstehe nicht, weshalb du dir nicht die Zeit nimmst die Grundlagen etwas besser zu lernen. Ich bin auch noch Anfänger und gerade deshalb verstehe ich nicht, weshalb du Aufgaben versuchst zu lösen, die ohne Grundlagen wirklich nicht zu lösen sind. Man hat doch gar keinen Spass am Programmieren, wenn man nicht selbst zu den Lösungen kommt und sich die Wege dorthin erarbeiten muss.
Ich habe mir zwar dieses Spiel Zuul, oder wie es auch immer heisst nicht genau angeschaut, aber du hast ja schon wieder einige Tipps bekommen, die du aber leider wieder nicht beherzigt hast. Zum Beispiel hier
@Devanther
PS: Strings vergleicht man mit equals und nicht mit ==

Schau dir mal deinen Code an:
Code:
if(aktuellerGegenstand.gibBeschreibung() == gegenstand.gibBeschreibung() ){
Wie Flown schon geschrieben hat, vergleicht man Strings mit equals. "Also String1.equals(String2)"

Code:
public String gegenstand()
    {
         for(Gegenstand aktuellerGegenstand: gegenstaende){
            if(aktuellerGegenstand.gibBeschreibung() == gegenstand.gibBeschreibung() ){
                System.out.println("Sie haben den Gegenstand hochgehoben!");
                return;
          }
        }
        gegenstaende.add(gegenstand);
        {   
        return null{
           System.out.println(" Es gibt keine Gegenstände im Raum");
        }   
    }
    }
Allein durch diesen Fehler ist es vollkommen klar, dass nur null zurückgegeben werden kann, da die Bedingung in der if-Anweisung gar nie wahr werden kann. Zudem gibst du zwar nach der if-Anweisung den Text aus, dass der Gegenstand "hochgehoben" wurde, aber du fügst ihn dann gar nicht hinzu, sondern brichst mit der return Anweisung ab, bevor du "gegenstaende.add(gegenstand)" überhaupt ausgeführt hast.
Des Weiteren kann der Text "Es gibt keine Gegenstände im Raum" gar nie ausgegeben werden, da du die Methode ja schon zuvor mit dem "return null" abbrichst. Das "return null" muss ans Ende der Methode.
Der Fehler bei null ist auch logisch, schau dir doch mal deinen Code an. Weshalb schreibst du nach "gegenstaende.add(gegenstand); und nach "return null" eine Klammer? Wo ist das Semikolon (;) nach dem "return null"? (Grund des Fehlers)

In diesem Forum hat es wirklich sehr erfahrene, nette und geduldige Mitglieder, die einem bei Problemen immer gerne unterstützen, aber wenn du keine Eigeninitiative zeigst und dir die Grundlagen nicht endlich mal aneignest, wirst du vermutlich bald gar keine Antworten mehr erhalten.
 

Meniskusschaden

Top Contributor
Soviel hatte ich auch mit Grundlagen noch nicht zutun...!
Grundlagen habe ich außerdem schon oft gelesen
:confused:Was denn nun?

Hast du die Grundlagen verstanden? Dann solltest du die Probleme mit etwas Anstrengung lösen können, oder zumindest konkretere Fragen als "Wie schreibe ich das richtig?" formulieren können.
Oder hast du sie nicht verstanden? Dann stelle Fragen dazu.

Übrigens wäre es bei deinen Zitaten nicht schlecht, wenn du es so machen würdest, dass das zitierte Posting und das zitierte Mitglied erhalten bleiben (einfach den gewünschten Text markieren und dann auf "zitieren" klicken). Es ist sonst schwierig, das Ursprungsposting zu finden und man merkt auch nicht, dass man zitiert wurde.
 

AndiE

Top Contributor
Erstmal hast du dir selbst ein Eigentor geschossen. Es gibt eine Collection des Typs Gegenstand in Raum und eine Collection des Typs Gegenstand in Spieler. Beide heißen gegenstaende, was das Verständnis und das Erstellen des Codes unnötig schwer macht. Hier wäre z.B. einmal "dinge" und einmal "tasche" angebracht.

Bei "take" soll nun doch folgendes passieren: Wenn in den Raum kein Gegenstand vorhanden ist, gib aus "Kein Gegenstand vorhanden". Ansonsten, prüfe, ob der Gegenstand, der sich im Raum befindet, schon unter denen ist, die der Spieler bei sich hat. Ist die Prüfung erfolgreich, gib aus "Diesen Gegenstand hast du schon". Ansonsten füge den Gegenstand aus dem Raum der Tasche des Spielers hinzu.

Ist doch einfach und logisch, oder?

Sinnvoll, wenn auch nicht zwingend, ist es Vergleichs- und Zuweisungsoperationen zu schreiben, also: "boolean Gegenstand.genauso(Gegenstand g);" und void Gegenstand.kopiere(Gegenstand g). Auch das vereinfacht das Schreiben und Verstehen des Codes ungemein.
 

Harry Kane

Top Contributor
Dazu braucht die Klasse Raum eine Methode, die einen String als Parameter bekommt und eine Instanz von Gegenstand zurückgibt.
puh, jetzt müsste ich noch wissen wie ich diese Methode in der Klasse Spiel schreibe.
Die neue Methode gehört nicht in die Klasse Spiel, sondern in die Klasse Raum.
Die ist der Methode findeArtikel(int nummer) aus der Klasse Bestandsverwalter sehr ähnlich.
Link zu deinem eigenen Thread: https://www.java-forum.org/thema/artikelbestand.178257/page-15
 

Joose

Top Contributor
Wie Harry Kane es zitiert hat ... du liest unsere Beiträge nicht mal richtig!
Daher hast du es bei unseren Beiträgen wahrscheinlich auch oft überlesen dass du die Grundlagen lernen sollst!
Grundlagen habe ich außerdem schon oft gelesen aber selber Code zu schreiben ist halt was anderes.
Du sollst sie nicht nur lesen sondern auch verstehen und üben!
LESEN != LERNEN & VERSTEHEN
 

Devanther

Top Contributor
Aus der Klasse Raum:
Code:
 public Gegenstand gegenstand(String name)
    {
         for(Gegenstand aktuellerGegenstand: gegenstaende){
              if (aktuellerGegenstand.gibName() .equals (name)) {
                  System.out.println("Sie haben den Gegenstand hochgehoben!");
                  return aktuellerGegenstand;
              }
         }
         System.out.println(" Es gibt keine Gegenstände im Raum");
         return null;
    }

Aus der Klasse Spiel:
Code:
private void befehlTake()
    {
     System.out.println(aktuellerRaum.gegenstand(name));
    }

Es kommt keine Fehlermeldung mehr, kann alle Klassen kompilieren.
Aber die Methode funktioniert im Spiel immer noch nicht.
Es kommt dann im Spiel ne Fehlermeldung.
Ich denke es liegt daran, dass man nicht nur den Befehl "take" sondern "take Gegenstand" implementieren muss?
Also erstes UND zweites Wort.
Was jetzt?

PS= Danke für eure Hilfe soweit, hab versucht alle Ratschläge umzusetzen.
 

DaCrazyJavaExpert

Bekanntes Mitglied
Ich denke es liegt daran, dass man nicht nur den Befehl "take" sondern "take Gegenstand" implementieren muss?
Wenn du das denkst, probier es doch aus. Es hindert dich niemand daran. Und wenn es dann auch nicht klappt, kannst du nochmal überlegen woran es liegen könnte, und das vielleicht mal über 3 bis 4 Tage. Das sollte genug Zeit sein, um mehrere Lösungsideen finden und sich in einige Themen reinlesen zu können. Wenn du dann immernoch etwas nicht verstehst oder einfach keine Lösung findest, dann kannst du wieder aufs Forum zurückgreifen.
Ich frag mich echt wie man sich da nicht irgendwie "schlecht" fühlen kann, wenn man selber nichts schafft und keine Eigeninitiative zeigt. Da freust du dich ja nicht mal wenn du irgendwann dein Problem gelöst hast, weil es nicht von dir sondern den geduldigen Leuten im Forum gelöst wurde....
 

Harry Kane

Top Contributor
Es kommt dann im Spiel ne Fehlermeldung.
Wie dir ebenfalls schon wiederholt gesagt wurde: bei Fehlermeldungen immer den stack trace mit posten und die Zeile angeben, wo der Fehler auftritt.
Es ist ausserdem überhaupt nicht zu erkennen, wann und wie die Methode befehlTake aufgrufen wird, und woher z. B. die in der Methode verwendete Stringvariable "name" kommt.
Im code hast du doch schon Beispiele, wie ein aus zwei Worten bestehendes Kommando ausgewertet werden kann.
[edit] Ausserdem ist die Methode falsch implementiert, wenn der der zweite Parameter (der Name eines Gegenstandes) korrekt ausgewertet werden würde.
Was passiert: im aktuellen Raum wird ein Gegenstand mit passendem Namen gesucht. Falls einer gefunden wird, wird sein Namen ausgegeben.
Was passieren soll: im aktuellen Raum wird ein Gegenstand mit passendem Namen gesucht. Wenn einer gefunden wird, wird der Gegenstand (NICHT der name des Gegenstandes) dem Spieler übergeben. Der schaut, ob er einen Gegenstand mit dem dem gleichen Namen schon hat, und falls nein, nimmt er ihn auf.
 
Zuletzt bearbeitet:

Devanther

Top Contributor
Wenn ich den Befehl "take" eingebe kommt das:

java.lang.NullPointerException
at Raum.gegenstand(Raum.java:51)
at Spiel.befehlTake(Spiel.java:128)
at Spiel.verarbeiteBefehl(Spiel.java:195)
at Spiel.spielen(Spiel.java:110)

Es ist ausserdem überhaupt nicht zu erkennen, wann und wie die Methode befehlTake aufgrufen wird

Klasse Spiel:
Code:
/**
*  Dies ist die Hauptklasse der Anwendung "Die Welt von Zuul".
*  "Die Welt von Zuul" ist ein sehr einfaches, textbasiertes
*  Adventure-Game. Ein Spieler kann sich in einer Umgebung bewegen,
*  mehr nicht. Das Spiel sollte auf jeden Fall ausgebaut werden,
*  damit es interessanter wird!
*
*  Zum Spielen muss eine Instanz dieser Klasse erzeugt werden und
*  an ihr die Methode "spielen" aufgerufen werden.
*
*  Diese Instanz dieser Klasse erzeugt und initialisiert alle
*  anderen Objekte der Anwendung: Sie legt alle Räume und einen
*  Parser an und startet das Spiel. Sie wertet auch die Befehle
*  aus, die der Parser liefert und sorgt für ihre Ausführung.
*
* @author  Michael Kölling und David J. Barnes
* @version 31.07.2011
*/

import java.util.ArrayList;

class Spiel
{
    private Parser parser;
    private Raum aktuellerRaum;
    private Gegenstand aktuellerGegenstand;
    private ArrayList<Gegenstand> gegenstaende;
   
    private Gegenstand buch;
    private Gegenstand computer;
   
    private Spieler spieler;
    private String gegenstand;
    private String Gegenstand;
   
    private String name;
       
    /**
     * Erzeuge ein Spiel und initialisiere die interne Raumkarte.
     */
    public Spiel()
    {
        raeumeAnlegen();
        parser = new Parser();
       
       
      
    }

    /**
     * Erzeuge alle Räume und verbinde ihre Ausgänge miteinander.
     */
    private void raeumeAnlegen()
    {
        Raum draussen, hoersaal, cafeteria, labor, buero, keller;
     
        // die Räume erzeugen
        draussen = new Raum("vor dem Haupteingang der Universität");
        hoersaal = new Raum("in einem Vorlesungssaal");
        cafeteria = new Raum("in der Cafeteria der Uni");
        labor = new Raum("in einem Rechnerraum");
        buero = new Raum("im Verwaltungsbüro der Informatik");
        keller = new Raum("im Keller");
       
        // die Ausgänge initialisieren
        draussen.setzeAusgang("east", hoersaal);
        draussen.setzeAusgang("south", labor);
        draussen.setzeAusgang("west", cafeteria);

        hoersaal.setzeAusgang("west", draussen);

        cafeteria.setzeAusgang("east", draussen);

        labor.setzeAusgang("north", draussen);
        labor.setzeAusgang("east", buero);

        buero.setzeAusgang("west", labor);
        buero.setzeAusgang("down", keller);
       
        keller.setzeAusgang("up", buero);
       
        //Gegenstände erzeugen
       
        buch = new Gegenstand("Buch", 150);
        computer = new Gegenstand("Computer", 1500);
        keller.addGegenstand(buch);
        buero.addGegenstand(computer);
       
       
       
       
       
        aktuellerRaum = draussen;  // das Spiel startet draussen
    }

    /**
     * Die Hauptmethode zum Spielen. Läuft bis zum Ende des Spiels
     * in einer Schleife.
     */
    public void spielen()
    {           
        willkommenstextAusgeben();

        // Die Hauptschleife. Hier lesen wir wiederholt Befehle ein
        // und führen sie aus, bis das Spiel beendet wird.
               
        boolean beendet = false;
        while (! beendet) {
            Befehl befehl = parser.liefereBefehl();
            beendet = verarbeiteBefehl(befehl);
        }
        System.out.println("Danke für dieses Spiel. Auf Wiedersehen.");
    }
    
    private void umsehen()
    {
        System.out.println(aktuellerRaum.gibLangeBeschreibung());
        System.out.println(aktuellerRaum.gibGegenstaendeAlsString());
    }   
   
    private void essen()
    {
        System.out.println(aktuellerRaum.gibEssensBeschreibung());
    }   
   
    private void befehlTake()
    {
     System.out.println(aktuellerRaum.gegenstand(name));
    }   
   
  
   
    private void rauminfoAusgeben()
    { 
      System.out.println("Sie sind " + aktuellerRaum.gibBeschreibung());
      System.out.print("Ausgänge: ");
      if (aktuellerRaum.gibAusgang("north") != null) {
          System.out.print("north ");
      }
      if(aktuellerRaum.gibAusgang("east") != null) {
          System.out.print("east ");
      } 
      if(aktuellerRaum.gibAusgang("south") != null) {
          System.out.print("south ");
      }
      if(aktuellerRaum.gibAusgang("west") != null) {
          System.out.print("west ");
      }
      System.out.println();
    }
       
       
   
    /**
     * Einen Begrüßungstext für den Spieler ausgeben.
     */
    private void willkommenstextAusgeben()
    {
        System.out.println();
        System.out.println("Willkommen zu Zuul!");
        System.out.println("Zuul ist ein neues, unglaublich langweiliges Spiel.");
        System.out.println("Tippen sie 'help', wenn Sie Hilfe brauchen.");
        System.out.println();
        System.out.println(aktuellerRaum.gibLangeBeschreibung());
    }

    /**
     * Verarbeite einen gegebenen Befehl (führe ihn aus).
     * @param befehl Der zu verarbeitende Befehl.
     * @return 'true', wenn der Befehl das Spiel beendet, 'false' sonst.
     */
    private boolean verarbeiteBefehl(Befehl befehl)
    {
        boolean moechteBeenden = false;

        if(befehl.istUnbekannt()) {
            System.out.println("Ich weiss nicht, was Sie meinen...");
            return false;
        }

        String befehlswort = befehl.gibBefehlswort();
        if (befehlswort.equals("help")) {
            hilfstextAusgeben();
        }
        else if (befehlswort.equals("go")) {
            wechsleRaum(befehl);
        }
        else if (befehlswort.equals("look")) {
            umsehen();
        }
        else if (befehlswort.equals("eat")) {
            essen();
        }
        else if (befehlswort.equals("take")) {
            befehlTake();
        }
        else if (befehlswort.equals("quit")) {
            moechteBeenden = beenden(befehl);
        }
        // ansonsten: Befehl nicht erkannt.
        return moechteBeenden;
    }

    // Implementierung der Benutzerbefehle:

    /**
     * Gib Hilfsinformationen aus.
     * Hier geben wir eine etwas alberne und unklare Beschreibung
     * aus, sowie eine Liste der Befehlswörter.
     */
    private void hilfstextAusgeben()
    {
        System.out.println("Sie haben sich verlaufen. Sie sind allein.");
        System.out.println("Sie irren auf dem Unigelände herum.");
        System.out.println();
        System.out.println("Ihnen stehen folgende Befehle zur Verfügung:");
        parser.zeigeBefehle();
    }

    /**
     * Versuche, in eine Richtung zu gehen. Wenn es einen Ausgang gibt,
     * wechsele in den neuen Raum, ansonsten gib eine Fehlermeldung
     * aus.
     */
    private void wechsleRaum(Befehl befehl)
    {
        if(!befehl.hatZweitesWort()) {
            // Gibt es kein zweites Wort, wissen wir nicht, wohin...
            System.out.println("Wohin möchten Sie gehen?");
            return;
        }

        String richtung = befehl.gibZweitesWort();

        // Wir versuchen, den Raum zu verlassen.
        Raum naechsterRaum = aktuellerRaum.gibAusgang(richtung);

        if (naechsterRaum == null) {
            System.out.println("Dort ist keine Tür!");
        }
        else {
            aktuellerRaum = naechsterRaum;
            System.out.println(aktuellerRaum.gibLangeBeschreibung());
        }
    }

    /**
     * "quit" wurde eingegeben. Überprüfe den Rest des Befehls,
     * ob das Spiel wirklich beendet werden soll.
     * @return 'true', wenn der Befehl das Spiel beendet, 'false' sonst.
     */
    private boolean beenden(Befehl befehl)
    {
        if(befehl.hatZweitesWort()) {
            System.out.println("Was soll beendet werden?");
            return false;
        }
        else {
            return true;  // Das Spiel soll beendet werden.
        }
    }
}
 

Harry Kane

Top Contributor
Wie dir ebenfalls schon wiederholt gesagt wurde: bei Fehlermeldungen immer den stack trace mit posten und die Zeile angeben, wo der Fehler auftritt.
Laut stack trace (Raum.gegenstand(Raum.java:51)) wird der Fehler in Zeile 51 der Raum-Klasse verursacht. Du postest stattdessen die Spiel-Klasse.
Der Fehler kommt vermutlich daher, weil die Stringvariable "name" der Spiel-Klasse, die ja an die genannte Methode von aktuellerRaum übergeben wird, nie initialisiert wurde und demnach null ist.
Ich bin raus. Die Diskussion ist sinnlos. Ich werde meine Zeit nicht weiter damit verschwenden, dir etwas zu erklären, was dich trotz deiner anderslautenden Aussage offenbar nicht interessiert. Schade ist es schon, denn die Programmierer des Projektes haben sich offenbar einiges an Mühe gegeben, Interessierten die Grundzüge von Java zu vermitteln.
hab versucht alle Ratschläge umzusetzen
Da die Klasse Spiel sinnloserweise immer noch die Variablen "gegenstand", "Gegenstand", "gegenstaende" und "aktuellerGegenstand" hat, war es leider nur ein Versuch.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Weitere Längen umrechnen Java Basics - Anfänger-Themen 2
X Wie erreiche ich, dass ein Robot weitere Attribute hat, die nicht materialisiert sind, sondern nur über get/ set-Methoden simuliert sind? Java Basics - Anfänger-Themen 1
B Zu Property Feld weitere Informationen hinzufügen? Java Basics - Anfänger-Themen 4
W DNS Name auslesen + weitere Anfängerfrage Java Basics - Anfänger-Themen 4
A Weitere Konsolenfenster öffnen Java Basics - Anfänger-Themen 3
B Objekte aus einer anderen Klasse(in der sich weitere Klassen befinden) erzeugen Java Basics - Anfänger-Themen 24
FetterOtter Weitere Anwendungen öffnen Java Basics - Anfänger-Themen 5
N ArrayList in2 weitere Arraylist unterteilen Java Basics - Anfänger-Themen 5
F weitere Klasse starten Java Basics - Anfänger-Themen 7
M Liste enthält weitere Listen, hbm.xml Mappingdatei Java Basics - Anfänger-Themen 2
W Weitere Parameter in die paintComponent()-Methode übergeben? Java Basics - Anfänger-Themen 7
M an String-Array weitere Werte anhängen Java Basics - Anfänger-Themen 22
K Keine weitere (java.util.)Scanner Eingabemöglichkeit? Java Basics - Anfänger-Themen 5
U Liste importieren und für weitere Verwendung sichern Java Basics - Anfänger-Themen 4
RudiRüssel Befehle - Maschinenprogramme Java Basics - Anfänger-Themen 6
H Befehle in einem Menü aktivieren Java Basics - Anfänger-Themen 1
D import Befehle Java Basics - Anfänger-Themen 3
F Linux Befehle zum Übersetzen Java Basics - Anfänger-Themen 1
L Linux Befehle unter Windows in Eclipse ausführen Java Basics - Anfänger-Themen 3
T befehle unterschiedlicher anzahl an strings wiedergeben Java Basics - Anfänger-Themen 2
RowdyN Methoden Befehle in zufälliger Reihenfolge ausführen lassen Java Basics - Anfänger-Themen 5
D Input/Output Mehrere Befehle nacheinander ausführen Java Basics - Anfänger-Themen 20
L Text/Befehle zu Programmen senden Java Basics - Anfänger-Themen 1
C Java und "normale" Befehle Java Basics - Anfänger-Themen 3
M Input/Output Allg. Befehle an die cmd.exe senden Java Basics - Anfänger-Themen 9
N Mit Java Befehle auf Konsole ausführen Java Basics - Anfänger-Themen 4
F alle 100ms Befehle ausführen Java Basics - Anfänger-Themen 26
S Befehle in ProcessBuilder nachschieben Java Basics - Anfänger-Themen 2
J Befehle aus anderen Klassen ausführen Java Basics - Anfänger-Themen 8
F Befehle von Java class ausführen Java Basics - Anfänger-Themen 3
F Befehle wiederholen Java Basics - Anfänger-Themen 7
B Threads Geschwindigkeit der Befehle auf verschiedenen PCs gleich machen Java Basics - Anfänger-Themen 3
G Kombination zweier Befehle (Preis festlegen & Rabatt berechnen) Java Basics - Anfänger-Themen 3
D Input/Output Stringbuffer Befehle bei Konvertierung in String Java Basics - Anfänger-Themen 19
C Nach Java-Installation sind Befehle erfolglos Java Basics - Anfänger-Themen 4
J Unklare Befehle Java Basics - Anfänger-Themen 4
K .bat Dateien starten, Ausgabe einlesen und Befehle übergeben Java Basics - Anfänger-Themen 32
H Befehle an andere Programme Java Basics - Anfänger-Themen 8
M Befehle der Eingabeaufforderung Java Basics - Anfänger-Themen 2
S return(Bedingung) ? [mehrere Befehle] Java Basics - Anfänger-Themen 5
M Umgebungsvariable gesetzt, aber nicht alle Befehle ausführbar Java Basics - Anfänger-Themen 6
M TextWrangler/VIM- Manche Befehle werden nicht farblich hervorgehoben Java Basics - Anfänger-Themen 3
S Mehrere Return-Befehle in einer Methode Java Basics - Anfänger-Themen 23
G Eigene Klasse für externe Befehle - Warten auf Prozesse Java Basics - Anfänger-Themen 6
N 2 Befehle zu einem machen Java Basics - Anfänger-Themen 10
K Shell Befehle mit Java aufrufen Java Basics - Anfänger-Themen 5
G CMD Befehle übergeben Java Basics - Anfänger-Themen 2
J Java Konsolenprogramm Befehle(Optionen) übergeben Java Basics - Anfänger-Themen 7
Blackskyliner Befehle an einen Thread senden? Java Basics - Anfänger-Themen 2
K Wieviele Befehle pro .java Datei Java Basics - Anfänger-Themen 4
C Befehle finden / Befehle richtig suchen Java Basics - Anfänger-Themen 5
E Befehle Java Basics - Anfänger-Themen 3
D MS Dos Befehle mit java Java Basics - Anfänger-Themen 3
G Falsche Java befehle, doch was ist falsch? Java Basics - Anfänger-Themen 9
D Win98 erkennt keine java Befehle.Umgebungsvariablen falsch? Java Basics - Anfänger-Themen 7
B Alt-Befehle Java Basics - Anfänger-Themen 4
C System.exit(int) und andere ähnliche Befehle Java Basics - Anfänger-Themen 5
R MS-DOS-Befehle ausführen Java Basics - Anfänger-Themen 11
S Befehle an externe Programme Java Basics - Anfänger-Themen 4
L Dos Befehle via Java Java Basics - Anfänger-Themen 4
Maxq Klassen Actionen in Button implementieren Java Basics - Anfänger-Themen 6
A LinkedList implementieren Java Basics - Anfänger-Themen 32
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
new_to_coding Rekursive Reihe implementieren Java Basics - Anfänger-Themen 1
HolyFUT Javax Websocket API implementieren Java Basics - Anfänger-Themen 14
J Interface Interface korrekt implementieren Java Basics - Anfänger-Themen 5
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
P9cman Ampel in Java implementieren Java Basics - Anfänger-Themen 3
districon Generics implementieren Java Basics - Anfänger-Themen 2
W UML Diagramm implementieren Java Basics - Anfänger-Themen 2
tony241188 Implementieren Sie die Klasse Hersteller, welche die folgenden Elektrogeräte produziert Java Basics - Anfänger-Themen 3
R Taxistand Implementieren Java Basics - Anfänger-Themen 1
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
Gaudimagspam BMI in Java implementieren Java Basics - Anfänger-Themen 38
T Methode implementieren Java Basics - Anfänger-Themen 21
R Implementieren einer iterativen und rekursiven Klassenmethode. Java Basics - Anfänger-Themen 1
L Methode implementieren, Parameter die übergeben werden sind final Java Basics - Anfänger-Themen 4
J alternierendes Probing-Verfahren für Hash-Tabellen implementieren Java Basics - Anfänger-Themen 0
B UML-Klassendiagram get und set implementieren Java Basics - Anfänger-Themen 2
M Implementieren einer Datenstruktur, welche nur 5 Objekte speichert Java Basics - Anfänger-Themen 3
U Hashmap Iterator selbst implementieren Java Basics - Anfänger-Themen 10
E Klassen implementieren Java Basics - Anfänger-Themen 94
S Tokenizer selbst implementieren Java Basics - Anfänger-Themen 1
C Telefonliste mit interface implementieren Java Basics - Anfänger-Themen 30
L Klassen Kann eine Unterklasse einer abstrakten Klasse ein Interface implementieren? Java Basics - Anfänger-Themen 2
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
M WindowStateListener selbst implementieren Java Basics - Anfänger-Themen 8
J Algorithmus für eine Reihe implementieren Java Basics - Anfänger-Themen 2
F Kindklassen sollen Ihre Methoden selbst implementieren Java Basics - Anfänger-Themen 5
pkm Interface Funktionales Interface lässt sich nicht implementieren. Java Basics - Anfänger-Themen 2
N Verkettete Liste implementieren Java Basics - Anfänger-Themen 5
N Stacks und Queues Implementieren Java Basics - Anfänger-Themen 2
R Listen richtig implementieren Java Basics - Anfänger-Themen 3
Shizmo Methoden Formel besser implementieren Java Basics - Anfänger-Themen 8
X Polynome implementieren Java Basics - Anfänger-Themen 3
O Methoden implementieren, Sichtbarkeiten, Brüche Java Basics - Anfänger-Themen 104
D Erste Schritte Befehl back implementieren Java Basics - Anfänger-Themen 18
B Formel in Java implementieren Java Basics - Anfänger-Themen 4
M Suchbaum implementieren Java Basics - Anfänger-Themen 8
S Implementieren zweier Klassen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben