JOptionPane dodaje do wczytanego znaku Enter?!

0

Dokładnie tak. Pracuję sobie teraz z DSM-em, piszę program, który mi wysyła dane i odbiera po RSie, ale jest problem, jeśli w okienko JOptionPane wpiszę tekst do wysłania 'X2' to odpowiadaja mi DSM jakimiś krzakami. Prowadzący mówił, że to JOptionPane dodaje enter. Jednak kiedy dam coś takiego:

String a = JOptionPane.showInputDialog("Wpisz tekst: ");

        if(a.endsWith("\n"))
        {
         String t = a;
         System.out.println("Zawiera enter");
        }

To mi NIE wypisuje, ze jest enter :/ Mówił też o jakimś znaku 13 (jeśli dobrze pamiętam, żęby go usunąć - że to przez niego to wszystko). O co chodzi? Problem jest NA PEWNO we wczytywaniu przez JOption właśnie.

0

Ok, chodzi o to, że on dodaje znak 13, czy też 10:

\n nowa linia (LF lub 0x0A (10) w ASCII)
\r powrót karetki (CR lub 0x0D (13) w ASCII)

do tekstu wysyłanego ... chociaż nie "widzi' tego wprost ... jak wyciąć ten znak ?!

0

Jeżeli wiesz na pewno, że dodaje jeden znak, to

s.substring(0,s.length()-1);
0

A może String.trim() jeżeli wiemy, że łańcuch i tak nie może zawierać białych znaków na początku i na końcu.

0

No właśnie to jest dziwne ... Próbowałem tak:

a.replace('\r', '');
a.replace('\n', '');

Ale krzyczy, że ten drugi string jest pusty ...

A jak zrobię, tak, jak piszesz :

a = a.substring(0,a.length()-1);

to mi obcina literę ostatnią ... nie mam przy sobie DSM-a (ooo jaka szkoda ;D), i nie bardzo mam jak to sprawdzić ... zajęcia mam dopiero za kilka dni, ale wtedy program mam już mieć gotowy :|

0

nie wiem, czy nie może zawierać. Ja wpisuję tylko X3, wciskam enter / lub ok myszką na okienku JOptionPane i wysyła się wszystko do tego jakże nowoczesnego urządzenia jakim jest DSM.

1 użytkowników online, w tym zalogowanych: 0, gości: 1