Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Character auf Zeilenumbruch überprüfen

895 views
Skip to first unread message

Christoph Engelhardt

unread,
Dec 18, 2001, 11:57:45 AM12/18/01
to
Hi

Wollte mal wissen, wie ich einen character auf einen Zeilenumbruch hin
überprüfe.

kleines Code beispiel:
int anfrage;
if ((char)anfrage=="\n")
{
strbuffer.append("\n");
select_action(strbuffer.toString());
}

Und keine Sorge: anfrage bekommt einen wert ( BufferedReader#read())

--
Ciao Christoph
----------------------
visit http://www.setiherbipolis.de
ICQ: 64571793


Jens Weibler

unread,
Dec 18, 2001, 12:06:16 PM12/18/01
to
"Christoph Engelhardt" <webm...@setiherbipolis.de> schrieb...

> Wollte mal wissen, wie ich einen character auf einen Zeilenumbruch hin
> überprüfe.
>
> kleines Code beispiel:
> int anfrage;
> if ((char)anfrage=="\n")

prüf doch auf den int-wert von einem Zeilenumbruch!
also:
if( (anfrage == 13) || (anfrage == 10))
{...}


mfg
Jens

--
Nutzloses Wissen, #74:
Die Erde wiegt ungefähr 6.588.000.000.000.000.000.000.000.000 Tonnen.

Christoph Engelhardt

unread,
Dec 18, 2001, 1:11:09 PM12/18/01
to
Jau danke :-) Nicht schlecht.
Werde ich mal machen.
Nur eine Frage:
Woher weißt du die Int-Werte dazu? Hast du dazu irgendeinen link ?

--
Ciao Christoph
----------------------
visit http://www.setiherbipolis.de
ICQ: 64571793

"Jens Weibler" <ne...@jensthebrain.de> schrieb im Newsbeitrag
news:9vntcs$gdmha$1...@ID-107409.news.dfncis.de...

Kurt Harders

unread,
Dec 18, 2001, 1:16:55 PM12/18/01
to
Hallo Jens,

Jens Weibler <ne...@jensthebrain.de> wrote:

> prüf doch auf den int-wert von einem Zeilenumbruch!
> also:
> if( (anfrage == 13) || (anfrage == 10))
> {...}


Wir sind hier nicht bei C :-). In Java geht das per
if (Character.getType(anfrage) == Character.LINE_SEPARATOR

Gruss, Kurt


--
Kurt Harders Modellbahnelektronik
mailto:ku...@kharders.de
privat: http://www.kharders.de
Modellbahnelektronik: http://www.kharders.de/weichenantrieb/index.html

Jens Weibler

unread,
Dec 18, 2001, 2:01:08 PM12/18/01
to
Hi,
"Christoph Engelhardt" <webm...@setiherbipolis.de> schrieb...

>> if( (anfrage == 13) || (anfrage == 10))
>> {...}
..

> Nur eine Frage:
> Woher weißt du die Int-Werte dazu? Hast du dazu irgendeinen link ?

:)
Asciitabelle..
spätestens wenn man mit VB programmiert merkt man sich
für ewig StrAusgabe = "Hallo World! " & Chr(13) & Chr(10)
außerdem reicht ein Blick in die Ascii-Tabelle..

Kleine Frage zu deinem Code:
warum machst du nicht:
while( (intEingabe != 13) || (intEingabe != 10))
{
// lies Zeichen ein
// StrBuffer erweitern mit (char) intEingabe
}
// Endausgabe mit + "\n\r"

mir fällt irgendwie bei deinem Code-Beispiel die Schleife...
und falls eine außen herum sein sollte, fällt mir der Sprung nach
draußen...

mfg
Jens

--
Nutzloses Wissen, #16:
Aus China ist seit 875 der Gebrauch von Toilettenpapier belegt.

Marco Schmidt

unread,
Dec 18, 2001, 2:36:34 PM12/18/01
to
Kurt Harders wrote:

>Wir sind hier nicht bei C :-). In Java geht das per
>if (Character.getType(anfrage) == Character.LINE_SEPARATOR

Textdateien, die von "fremden" System stammen, sind aber nicht
unüblich. Also ist der Ansatz, unabhängig vom momentanen System auf 10
(Unix, etc.), 13 (Mac) und 13 10 (Windows) zu prüfen, angemessen,
solange man nicht 100-prozentig über die Herkunft der Datei Bescheid
weiß.

Gruß,
Marco
--
Bitte nur in der Newsgroup antworten, nicht per Email!
Homepage von de.comp.lang.java: http://www.dclj.de/
FAQ: http://de.geocities.com/uweplonus/faq/
Tips und Links zu Java: http://jiu.sourceforge.net/javatips.html

Bjoern

unread,
Dec 18, 2001, 2:52:45 PM12/18/01
to
On Tue, 18 Dec 2001 17:57:45 +0100, "Christoph Engelhardt"
<webm...@setiherbipolis.de> wrote:

>Hi
>
>Wollte mal wissen, wie ich einen character auf einen Zeilenumbruch hin
>überprüfe.
>
>kleines Code beispiel:
>int anfrage;
>if ((char)anfrage=="\n")
> {
> strbuffer.append("\n");
> select_action(strbuffer.toString());
> }

Muesste man nicht auch noch auf '\r' pruefen, oder tritt das nie
alleine auf?

Nico Seessle

unread,
Dec 18, 2001, 2:55:18 PM12/18/01
to

"Kurt Harders" <ku...@kharders.de> schrieb im Newsbeitrag
news:9vo16n$upf$1...@tux.pin-gmbh.com...

> Hallo Jens,
>
> Jens Weibler <ne...@jensthebrain.de> wrote:
>
> > prüf doch auf den int-wert von einem Zeilenumbruch!
> > also:
> > if( (anfrage == 13) || (anfrage == 10))
> > {...}
>

Dabei sollte man dann nur aufpassen, das man nicht aus jedem CR/LF (z.B. aus
einer DOS/Windows-Datei) dann auf einmal zwei Zeilenumbrüche macht...

> Wir sind hier nicht bei C :-). In Java geht das per
> if (Character.getType(anfrage) == Character.LINE_SEPARATOR

Gilt bei dieser "schöneren" Vorgehensweise natürlich genauso.

Hat sich mal jemand die Methode angeschaut? Sieht ja grausam aus...

public static int getType(char ch) {
return A[Y[(X[ch>>6]<<5)|((ch>>1)&0x1F)]|(ch&0x1)] & 0x1F;
}

Nico

Kurt Harders

unread,
Dec 19, 2001, 1:42:44 AM12/19/01
to
Hallo Marco,

Marco Schmidt <marcos...@geocities.com> wrote:

> Textdateien, die von "fremden" System stammen, sind aber nicht
> unüblich. Also ist der Ansatz, unabhängig vom momentanen System auf 10
> (Unix, etc.), 13 (Mac) und 13 10 (Windows) zu prüfen, angemessen,
> solange man nicht 100-prozentig über die Herkunft der Datei Bescheid
> weiß.

Das sollte dann aber auf der Ebene des Eingabecodes erfolgen, und nicht
in Unicode/Java.
Nachdem die Amerikaner/Sun begriffen haben, dass es mehr als 26 Buchstaben
gibt, sollte mna dann auch konsequent sein, wenn Java Unicode anbietet:-).

Kurt Harders

unread,
Dec 19, 2001, 1:44:48 AM12/19/01
to
Hallo Nico,

Nico Seessle <ni...@seessle.de> wrote:

> Hat sich mal jemand die Methode angeschaut? Sieht ja grausam aus...

> public static int getType(char ch) {
> return A[Y[(X[ch>>6]<<5)|((ch>>1)&0x1F)]|(ch&0x1)] & 0x1F;
> }

Schuettel :-). Aber was solls, da muss ich ja nicht reinschauen, und
verstehen muss ich es auch nicht :-) Und ob das auch fuer den chinesichen
Zeilen/Spaltenumbruch stimmt ?? :-)

0 new messages