• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

System.out.print() funkt nicht

Janus88

Jonagold
Registriert
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
 

Kowalski

Bismarckapfel
Registriert
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
 

mausbull

Antonowka
Registriert
11.04.06
Beiträge
362
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

Welches System? Win-Linux-Mac
Welche Entwicklungsumgebung?
Wie sieht der Code aus?

Kannst du mal den Konsolenoutput posten.

lg
 

onemws

Roter Delicious
Registriert
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ß
 

MatzeLoCal

Rheinischer Bohnapfel
Registriert
05.01.04
Beiträge
2.422
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ß

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.

Janus88 schrieb:
System.out.println(); funktioniert

System.out.print(); funktioniert nicht

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

Kowalski

Bismarckapfel
Registriert
14.11.08
Beiträge
142
Welches System? Win-Linux-Mac
Welche Entwicklungsumgebung?
Wie sieht der Code aus?

Kannst du mal den Konsolenoutput posten.

lg

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
 

onemws

Roter Delicious
Registriert
11.10.08
Beiträge
90
Was erzählst Du da? print(); macht sehr wohl Sinn. Es gibt etwas aus, aber eben ohne Zeilenumbruch.

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ß
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
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ß
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 ;)
 

onemws

Roter Delicious
Registriert
11.10.08
Beiträge
90
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 ;)

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ß
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Probier mal
System.out.print("");
Das funktioniert ;)

… Vermutlich meinst du diese: System.out.printf()…
printf ist C und nicht Java :p

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

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

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

onemws

Roter Delicious
Registriert
11.10.08
Beiträge
90
Ein Blick in die JavaDoc zeigt... printf(String, Object...) ist seit Java 1.5 verfügbar.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Printf ist typisch für C, aber völlig unüblich für Java.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
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:

Die Mehtode System.out.print() gibt es nicht.
Vermutlich meinst du diese: System.out.printf()
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.
 

onemws

Roter Delicious
Registriert
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?
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Was ist denn "normal" und "naheliegend"?

Der Threadersteller hat ja nichtmal geschrieben, was er eigentlich will, nur dass das was er probiert hat …

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.
 

onemws

Roter Delicious
Registriert
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.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
... sich darüber wunderte dass println() geht, aber print() nicht. ...
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. :-*