Zähler

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Tut mir leid, aber ich bin verwirrt. Also das mit dem Importiren hab ich verstanden und das Problem, auch gelöst. Aber jetz hab ich es halt ausprobiert, mit dem Reader. Es klapt auch , aber nicht so, wie ich es mir gedacht habe. Ich wollte das er das ganze in einem Kasten zeigt. Das war ja javax.swing
    , aber er zeigt mir das ganze, unten im System.

    Quellcode

    1. JOptionPane.showInputDialog
    ist das hier vlt Falsch dafür?.Und danke F0kus, dass du mir nicht einfach den code reinkopierst.So lern ich das ganze einfacher. ;D
  • Hehe, in der Zeile die du uns zeigst liegt der Hund begraben ;)

    Tipp 1:
    Aber sie ist nicht falsch. Sie muss nur erweitert werden.
    Tipp 2:
    Du brauchst den BufferedReader nicht
    Tipp 3:
    Schau mal in der APIoder in eclipse oder so, was JOptionPane.showInputDialog als Rückgabetyp hat. Wenn du den Typ kennst, gib mal den Wert in der Konsole aus.
    Dann wirst du fündig werden :)
  • Hmm, also ich verstehe nicht was du meinst, mit dem auslesen.Hier die vier Typen:

    * showConfirmDialog
    Fragt beim Benutzer nach, der Ja, Nein oder Abbruch klicken kann.
    * showInputDialog
    Fragt nach einer Eingabe.
    * showMessageDialog
    Gibt einen Hinweis aus.
    Das Eventuell?

    Und dan gleich hinterher, wenn ich den Buffreader nicht brauche,ist der code doch auch sinlos.

    Quellcode

    1. x = Integer.parseInt(in.readLine());

    Die liest doch mit hilfe des Buffreaders, wenn ich das richtig verstehe.Und wen ich den wegmache, kann er doch nicht zwischen 0 und 1 unterscheide -> Alles fürn *Piep*. Oder sehe ich da etwas falsch?
  • Hm, ich glaub für dieses Beibring-Spielchen ist F0kus echt besser geeignet als ich... ich könnt dir zwar den fertigen Code hin klatschen, aber so gezieltes aufmerksam machen...
    Naja, ich versuchs mal... Stichwort Rückgabe... Errinnerst du dich noch was ich dir gezeigt habe bezüglich des Zählers für richtig und falsch? Da war doch was mit "true" und "false" und "boolean" und so... *kratzamBart*
  • Ich glaube , ich weiß was du meinst.True und False müsten dan der Rückgabewert sein.Und das "boolean" sagt glaube ich aus, das es "true" oder "false" geben kann. Aber ich hab keine Ahnung, was bei dem Dialog hinmuss. Habe ein paar sachen und versuche mich schlau zulesen(fals möglich :D). Vlt hab ihr auch eine "idioten" Erklärung , damit auch ich das ganze verstehe :D.
  • Hm, ganz so einfach will ich es dir nicht machen.
    Aber ich versuchs mal ein weinig zu erklären.

    Quellcode

    1. public static boolean spielchen()

    public => Die Methode ist öffentlich, kann also auch von außerhalb der Klasse aufgerufen werden.
    static => Die Methode ist statisch. Meines wissens heißt das, das sie nicht überschrieben werden kann (Stichwort Vererbung). Muss aber gestehn das ich mir da grade nicht ganz sicher bin.
    boolean => Die Methode gibt nach dem Aufrufen etwas zurück, und zwar etwas vom Datentyp "boolean". Stünde da "void" würde die Methode nichts zurück geben. Wenn da was anderes als "void" steht, kommt immer irgendwas zurück. Was genau, definiert eben der Datentyp.
    spielchen => Ist der Name der Methode, das Kind braucht schließlich einen Namen :)
    ( ) => Zwischen die Klammern kommen die Parameter die der Methode übergeben werden. Hier steht nichts dazwischen, also werden auch keine Parameter verlangt.

    Jede Varriable hat einen Datentyp. Die Datentypen "boolean" und "int" kennst du bereits, die hast du schon benutzt.
    "boolean" enthällt einen boolschen Wert, Bool ist die typische Computer-Logik, es gibt nur 0 und 1, in Java eben "false" und "true".
    "int" enthält ganze Zahlen, so genannte Integer-Werte. Da kann also ein 1 oder eine 2 oder eine -256 drin stehn, aber keine 7,3. Eben nur ganze Zahlen.
    Datentypen gibts natürlich noch viel mehr, "String" zum Beispiel enthält Texte. "Char" enthällt nur ein einziges Zeichen. Wärend du in ein String-Objekt ganze Sätze schreiben kannst, passt in ein Char mal grade ein A oder ein /. Dann gibts noch short und long und ... 1,2,3 gaaaaaanz viele andere.
    Du brauchst einen Datentyp den es noch nicht gibt? Dann erstell ihn dir eben selber :) Auch das geht, aber das ist hier nicht Thema.
    Wollte nur mal n kleinen Ausblick auf das Thema "Datentypen" geben.

    Zurück zum Thema:
    F0kus hat dir den Link zur API gegeben, da steht folgendes:

    Quellcode

    1. public static String showInputDialog(Object message, Object initialSelectionValue)

    Nehmen wir das mal genau so aus einander wie die Methode "spielchen":
    public => Die Methode ist öffentlich und kann somit auch von außerhalb der Klasse "JOptionPane" aufgerufen werden.
    static => Auch diese Methode ist statisch.
    Sting => Da schau mal einer guck, die Methode liefert ebenfalls etwas zurück, und zwar etwas vom Daten-Typ "String". Was da wohl drin stehen mag?
    showInputDialog => Auch dieses Kind braucht einen Namen. Cleverer weise sagt hier der Name auch gleich was die Methode macht.
    (Object message, Object initialSelectionValue) => Die Methode verlangt nach zwei Parametern vom Typ "Object" und nennt diese dann Methodenintern "message" und "initialSelectionValue". Hierzu muss man wissen das in Java eigentlich alles ein Object ist. Ich würd einfach mal versuchen ihm ein String-Object zu übergeben. Mit "message" ist der Text gemeint der in dem, sich dann öffnenden, Fenster stehen soll, und mit "initialSelectionValue" der Text, der in dem Textfeld, das die JOptionPane dir da liefert, bereits drin stehen soll.
  • Nur ein kleiner Hinweis:

    Lookbehind schrieb:

    static => Die Methode ist statisch. Meines wissens heißt das, das sie nicht überschrieben werden kann (Stichwort Vererbung). Muss aber gestehn das ich mir da grade nicht ganz sicher bin.
    static hat nichts mit der Vererbung zu tun, das was du meinst ist final. Static bedeuetet, dass die Methode aufgerufen werden kann, ohne dass man ein Objekt der Klasse braucht. Man kann sie einfach über die Klasse aufrufen. Ein Beispiel dafür sind die Methoden der Math-Klasse, die sind alle static. Man kann sie einfach mit Math.methodenname() aufrufen, ohne eine instanz von Math erzeugen zu müssen
  • Rondrer schrieb:

    Nur ein kleiner Hinweis:

    Lookbehind schrieb:

    static => Die Methode ist statisch. Meines wissens heißt das, das sie nicht überschrieben werden kann (Stichwort Vererbung). Muss aber gestehn das ich mir da grade nicht ganz sicher bin.
    static hat nichts mit der Vererbung zu tun, das was du meinst ist final. Static bedeuetet, dass die Methode aufgerufen werden kann, ohne dass man ein Objekt der Klasse braucht. Man kann sie einfach über die Klasse aufrufen. Ein Beispiel dafür sind die Methoden der Math-Klasse, die sind alle static. Man kann sie einfach mit Math.methodenname() aufrufen, ohne eine instanz von Math erzeugen zu müssen

    Wieder was gelehrnt!
    Danke!
  • Noch so ein kleiner Hinweis:

    Wie Lookbehind dir schon veraten hat, gibt showInputDialog einen String zurück.
    Wenn irgendwas etwas zurückgibt, kann es auch "irgendwer" in empfang nehmen ;)

    Wie bei deiner Konsolenanwendung.
    Du hast die Konsole via readLine() ausgelesen und es in einen integer geparst.

    Also zusammengefasst:
    Die Konsole hast du den Rückgabewert von readLine() entgegengenommen:

    Quellcode

    1. x = Integer.parseInt(in.readLine());



    Und nun sollst du den Rückgabewert von showInputDialog entgegennehmen.
  • Also, da ich selber merke, dass ich nicht recht weiter komme. Auch wen eure bemühungen, mir das ganze begreiflich zu machen, super sind.Komme ich nicht recht weiter. Daher sollte ich warscheinlich nochmal mit den basics anfangen. Allerdings, habe ich nur so ein Blätterstappel von knap 50 Seiten. Ich würde aber gerne noch ein anderes "tutorial" nebenher lesen. Hab auch gleich gegoogle. Google dein Freund und Helfer nicht wahr :D! Aber, da kam nur " mist " bei raus ;D. Also nichts womit ich etwas anfangen könnte. Habt ihr vlt nen guten Link?
  • Wenn du selbst merkst, dass du "uns" nicht wirklich verstehst ist dass eine vermutlich eine sehr clevere Entscheidung :) (nicht bös gemeint, eher als Lob ;) )
    Also ich weiß nicht ob du Geld investieren möchtest oder nicht.
    Solltest du welches Investieren können und du wissbegierig bist, kann ich dir ein Buch empfehlen welches ich didaktisch grandios finde (wie so einige aus dieser Reihe): Java von Kopf bis Fuß. Ich muss zugeben das Buch ist wirklich teuer. Aber ich kann dir versprechen das es sich Lohnt ;) Wenn du das durchgearbeitest hast, bist du doch schon theoretisch relativ fit :)

    Ansonsten schau mal in unserer Literatur Ecke im Forum ;)
  • Als kostenlose Variante fällt mir noch Java ist auch eine Insel ein. Wobei ich aber gestehen muss, dass ich das nicht besonders einsteigerfreundlich finde.
    Sonnst kenne ich noch einige die das über das Buch: "Java lernen mit lueJ" gemacht haben. Ich persönlich hab auch mit BlueJ als Entwicklungsumgebung angefangen. Zum lernen is die wirklich nicht schlecht.
    An sonnsten ist die API inzwischen auch eine häufig gesehene Seite in meinem Browser geworden. Aber die ist wirklich nur zum Nachschlagen gedacht. Wer damit was lernen will, der muss echt hart im nehmen sein...