1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

System.out.print() funkt nicht

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Janus88, 14.11.08.

  1. Janus88

    Janus88 Jonagold

    Dabei seit:
    28.09.07
    Beiträge:
    18
    Hallo,
    ich bin Student für Medieninformatik. Ich bin gerade am Anfang mit Java. Mein Problem ist folgendes:

    Der Befehl

    System.out.println(); funktioniert

    System.out.print(); funktioniert nicht

    Kann mir jemande helfen?

    Grüße Helmut
     
  2. Kowalski

    Kowalski Bismarckapfel

    Dabei seit:
    14.11.08
    Beiträge:
    142
    Mhhhh meine erste Antwort ;) (hab mich extra für dich angemeldet)

    Einmal hast du *.println() mit Zeilenumbruch
    und einmal *.printf() ohne Zeilenumbruch und der Möglichkeit der Formatierung der Ausgabe.

    LG
     
  3. mausbull

    mausbull Antonowka

    Dabei seit:
    11.04.06
    Beiträge:
    362
    Welches System? Win-Linux-Mac
    Welche Entwicklungsumgebung?
    Wie sieht der Code aus?

    Kannst du mal den Konsolenoutput posten.

    lg
     
  4. onemws

    onemws Roter Delicious

    Dabei seit:
    11.10.08
    Beiträge:
    90
    Ein println() macht einen Zeilenumbruch ohne weitere Zeichen.

    Was aber soll denn ein print() machen? Überleg mal, du kannst doch nicht verlangen "Schreibe mir jetzt kein Zeichen!".

    Eben weil so ein Aufruf keinen Sinn machen würde, wird er auch nicht unterstützt.
    Die von dir verwendete Methodensignatur gibt es nicht, daher der Fehler.

    Tipp: guck in die JavaDoc-Dokumentation, die hilft immer!

    Gruß
     
  5. MatzeLoCal

    MatzeLoCal Rheinischer Bohnapfel

    Dabei seit:
    05.01.04
    Beiträge:
    2.421
    Was erzählst Du da? print(); macht sehr wohl Sinn. Es gibt etwas aus, aber eben ohne Zeilenumbruch.

    Code:
    class Print
    {
            public static void main(String[] args)
            {
                    System.out.print("Hier steht was!");
            }
    }
    
    In eine Textdatei kopieren, diese Print.java nennen und dann mit

    Code:
    javac Print.java
    
    Und dann mit

    Code:
    java Print
    starten.

    Schau noch mal ganz genau, ob das was Du ausgegeben haben willst nicht "irgendwo" drin steht.. ansonsten poste mal deinen code hier.
     
  6. Kowalski

    Kowalski Bismarckapfel

    Dabei seit:
    14.11.08
    Beiträge:
    142
    Ob Windows, Linux oder Mac Os X... Java wird über eine VM gestartet und ist somit OS unabhängig.

    Die Mehtode System.out.print() gibt es nicht.
    Vermutlich meinst du diese: System.out.printf()

    System.out.println macht halt zusätzlich einen Zeileunmbruch



    Aber: Vorteil der ersteren Methode ist eindeutig die formatierbarkeit des Outputs.
    Nachteil wäre, dass Zeilenumbrüche mit \n gelöst werden müssen
     
  7. onemws

    onemws Roter Delicious

    Dabei seit:
    11.10.08
    Beiträge:
    90
    Was erzählst DU denn da?

    Du brauchst MIR nichts erzählen, ich programmiere seit 8 Jahren in Java.

    Ein print ohne Parameter gibt es nicht, weil es eben keinen Sinn macht, nix auszugeben.
    Dass es die Methode mit verschiedensten Parametern gibt ist mir klar, aber eben nicht (so wie im 1. Beitrag verwendet) ohne Parameter.

    Gruß
     
  8. kauan

    kauan Stina Lohmann

    Dabei seit:
    31.12.05
    Beiträge:
    1.043
    Er meinte wohl auch nicht print() ohne Parameter, sondern eigentlich print(String), hat sich aber so ausgedrückt, dass print() für die Methode print steht.
    Glaub ich ;)
     
  9. onemws

    onemws Roter Delicious

    Dabei seit:
    11.10.08
    Beiträge:
    90
    Ja, ich denke auch.

    Aber der erste Beitrag deutet eindeutig darauf hin dass die Methode ohne Parameter aufgerufen wurde, denn sonst müsste sie funktionieren.

    Deshalb auch mein Hinweis auf JavaDoc, da steht genau was man verwenden kann.
    Hier z.B. für Java 1.5: http://java.sun.com/j2se/1.5.0/docs/api/java/io/PrintStream.html

    Als Java-Programmierer sollte man mit den JavaDocs klarkommen, das hilft ungemein.
    Und passend dazu sollte man seinen Code auch in JavaDoc dokumentieren.

    Gruß
     
  10. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.708
    Probier mal
    System.out.print("");
    Das funktioniert ;)

    printf ist C und nicht Java :p

    Laß Deinen Nick ändern von einem Admin, ich nehme offiziell Anstoß daran.

    Einen leeren String ausgeben, wenn er noch "" reinsetzt.
     
  11. onemws

    onemws Roter Delicious

    Dabei seit:
    11.10.08
    Beiträge:
    90
    ist so sinnvoll wie:

    // ich mach nix

    Gruß
     
  12. YanniH

    YanniH Auralia

    Dabei seit:
    20.04.08
    Beiträge:
    202
    Ich bin schockiert über soviel Unkenntnis einiger Poster... ^^
     
  13. onemws

    onemws Roter Delicious

    Dabei seit:
    11.10.08
    Beiträge:
    90
    Ein Blick in die JavaDoc zeigt... printf(String, Object...) ist seit Java 1.5 verfügbar.
     
  14. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.708
    Printf ist typisch für C, aber völlig unüblich für Java.
     
  15. YanniH

    YanniH Auralia

    Dabei seit:
    20.04.08
    Beiträge:
    202
    Steht auf nem anderen Blatt - trotzdem "ist printf C" zum Kopf schütteln :p nenn' mich Pedant ;)
     
  16. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.708
    Nun, im Grunde ging es mir um diese Aussage, die besagt, die normale übliche Methode gäbe es nicht und stattdessen eine von C gewohnte vorschlägt:
    Anstelle die normale und naheliegende Lösung zu erläutern wird exotischer C-Kram vorgeschlagen. Das ist wohl kaum der Königsweg.
    Und printf kommt von C zu Java und wie Du selbst festgestellt hast, ist es in den meisten Java-Versionen nicht verfügbar.
     
  17. onemws

    onemws Roter Delicious

    Dabei seit:
    11.10.08
    Beiträge:
    90
    Was ist denn "normal" und "naheliegend"?

    Der Threadersteller hat ja nichtmal geschrieben, was er eigentlich will, nur dass das was er probiert hat nicht geht... Ja, das steht auch in der Java-Doku (JavaDoc).

    Schon gemerkt dass der sich nicht nochmal geäussert hat?
    Vielleicht will sich da nur jemand belustigen?
     
  18. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.708
    Er wollte ganz offensichtlich etwas (ggf. Leerzeile) ausgeben. Und normal und naheliegend ist, daß man erstens seinen Fehler im Code korrigiert (also die fehlenden Anführungszeichen für den ggf. leeren String in den Klammern) thematisiert und zweitens nicht mit einer exotischeren, komplizierteren und nicht in allen Versionen verfügbaren Variante daherkommt, die ihn nur noch mehr verwirrt, sondern die Standardmethode von Java weiterhin verwendet, die die einfachste von allen und seit Anfang an verfügbar ist.
     
  19. onemws

    onemws Roter Delicious

    Dabei seit:
    11.10.08
    Beiträge:
    90
    Also für mich sah das so aus, als ob der Ersteller (weil er Anfänger ist) einfach bisschen rumprobiert hat und sich darüber wunderte dass println() geht, aber print() nicht.
    Ob er wirklich etwas ausgeben wollte, bzw. überhaupt wusste, was er da probiert, bezweifle ich.

    Wir brauchen hier nicht über "offensichtliches" diskutieren, da es bei den Threadbeteiligten scheinbar verschiedene Ansichten von "offensichtlich" gibt und das ganze damit eben nicht offensichtlich ist.
     
  20. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.708
    Eben, von printf war keine Rede. Wenn ich Probleme beim Einparken habe, dann ist es unheimlich hilfreich, wenn Passanten mir erklären, wie man eine Dose Ravioli aufmacht. :-*
     

Diese Seite empfehlen