Fehler beim printen von '\r'

Hallo,
wenn ich bei meinem Java-Programmen (Anfängerstadium) Werte in der Konsole ausgebe und dabei die Zeilenschaltung ‚\r‘ mittels:

System.out.print('\r') 

verwende, dann erhalte ich oft, aber nicht immer, folgende Eclipse-Fehlermeldung, obwohl sonst alles geklappt hat.

http://img150.imageshack.us/img150/4039/screen35tr7.jpg

Was kann da los sein?

Gruß, Andreas

Hallo,

System.out.print('\r');

Funktioniert bei mir tadellos.

Was kann da los sein?

  • ist sicher, dass es an der Zeile liegt?
  • hast du mal nur die Zeile ausprobiert?
  • hast du mal alles ohne die Zeile ausprobiert?
  • was passiert vorher, was soll nachher passieren?

Gruss
Patrick

Was kann da los sein?

  • ist sicher, dass es an der Zeile liegt?

Ja. Sobald ich diese auskommentiere, seh ich diese Fehlermeldung nicht mehr.

  • hast du mal nur die Zeile ausprobiert?

Ja, dann krieg ich nur noch den Fehler.

  • hast du mal alles ohne die Zeile ausprobiert?

Ja. s.o.

  • was passiert vorher, was soll nachher passieren?

Vorher: Ausgabe von Zahlen (int, char, etc…)
Nachher: nichts mehr

Hilft dir das weiter?

Gruss
Patrick

Andreas

Vorher: Ausgabe von Zahlen (int, char, etc…)
Nachher: nichts mehr

Hilft dir das weiter?

Eigentlich hatte ich darauf spekuliert, dass du 3-4 Zeilen
postet, zwecks Reproduktion. Nur um zu sehen, ob ein vorheriges
Statement Probleme in der Konsole verursacht.
Bei mir funkioniert es so nach wie vor einwandfrei.

 System.out.println('1');
 System.out.println(2);
 System.out.println(2.1);
 System.out.println("3");
 System.out.println('\t');
 System.out.print('\n');
 System.out.print('\r');
 System.out.print("HeWo\r");
 System.out.print("\r\n");

(Windows 2000, Eclipse 3.2.2)

Liegt es nur an dem ‚\r‘ oder funktioniert es, wenn du z.B.
System.out.print(„HeWo\r“); bzw. andere „Steuerzeichen“ verwendest?

Ansonsten keine weiteren Ideen, ausser vielleicht mal mit dem
Debugger in das print() reinzugehen.

Gruss
Patrick

Hi,

welches Betriebssystem nutzt du ?
Bei Linux und Windows gibt es andere newline-carriage-return zeichen

\r, \n, \r\n, CRLF

Statt „\r“ (Mac), „\n“ (Unix), „\r\n“ bzw. CRLF (Windows) sollte das plattformunabhängige System.getProperty(„line.separator“) bevorzugt werden.

http://www.torsten-horn.de/techdocs/java-basics.htm

Eigentlich hatte ich darauf spekuliert, dass du 3-4 Zeilen
postet, zwecks Reproduktion.

Kein Problem. Hier die Methode, die das Array ausgibt.

 public static void print(int[] array) {
 for (int i = 1; i 

Der Fehler tritt eigentlich nur bei '\r' auf. Bei anderen Steuerzeichen hab ich das bisher noch nicht beobachtet.

Ich werde auch mal in den Debugger reinschauen.

Andi

Hallo!

Der Fehler tritt eigentlich nur bei ‚\r‘ auf. Bei anderen
Steuerzeichen hab ich das bisher noch nicht beobachtet.

Wie Lianna schon andeutete, ist ‚/r‘ eigentlich kein zulässiges Zeichen für eine Ausgabe unter Windows, wenn nicht unmittelbar ein ‚/n‘ folgt. Und deine Eclipse-Version weiß mit ‚/r‘ nichts anzufangen und erzeugt diese wenig informative Fehlermeldung. Ich bekomme sie unter WindowsXP allerdings nicht reproduziert.

Da Du für die Ausgabe eines ‚/r‘ eigentlich gar keinen Besonderen Grund zu haben scheinst, kannst Du ja tatsächlich System.getProperty(„line.separator“) nehmen oder einfach ein leeres println().

Hi,

welches Betriebssystem nutzt du ?
Bei Linux und Windows gibt es andere newline-carriage-return
zeichen

\r, \n, \r\n, CRLF

Ich verwende Windows XP.
Laut unserem Prof wird da \r verwendet.
Wenn ich das ein paar Mal mit \r\n laufen lasse, kommt zwar die Fehlermeldung nicht mehr, aber hin und wieder wird zur normalen Ausgabe noch dieser Text in rot ausgegeben:

ERROR: JDWP Unable to get JNI 1.2 environment, jvm-\>GetEnv() return code = -2
JDWP exit error AGENT\_ERROR\_NO\_JNI\_ENV(183): [../../../src/share/back/util.c:820]

Für mich (noch) böhmische Dörfer.

Hallo!

Ich verwende Windows XP.
Laut unserem Prof wird da \r verwendet.

Also, das ist definitiv falsch. Immer richtig ist „\r\n“ (unter Windows) und fast immer funktioniert auch „\n“ (aber z.B. nicht im Notepad).

ERROR: JDWP Unable to get JNI 1.2 environment,
jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183):
[…/…/…/src/share/back/util.c:820]

Das ist irgendwas anderes Obskures im Zusammenhang mit JDK1.6.
Jan