• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JAVA- odsługa bug-a nie działa

Object Storage Arubacloud
0 głosów
137 wizyt
pytanie zadane 18 października 2018 w Java przez MarcinZielony Użytkownik (710 p.)
Witajcie

piszę programy w schellu, żeby sobie utrudnić życie i nie działa mi obsługa tego:

'//////////////////////////////////

System.out.print("Odpowiedz: ");
    takeOneInt=scanner.nextInt();
    scanner.nextInt();

///////////////////////////////////

chodzi o pobranie danych wejsciowych w hurcie i pozniejsze wyswietlenie ich za pomoca: printf.

 

Jakis pomysł?

Niby ten sposób miał pobrać znak linii, ale jakoś mu nie wyszło (JAVA 10)
1
komentarz 18 października 2018 przez mbabane Szeryf (79,280 p.)
W sumie czym się objawia to nie działanie, i co masz na myśli pobieranie w hurcie?
komentarz 18 października 2018 przez MarcinZielony Użytkownik (710 p.)
Pobierasz int, pozniej od razu string i zaraz po tym chcę wyświetlic.

Jeżeli pobiezemy dwie dane wejściowe i po tym wyswietlimy, to nie wyswietli sie poprawnie.

W ksiazce znalazlem to rozwiazanie, ale jak widac nie dziala.
komentarz 18 października 2018 przez mbabane Szeryf (79,280 p.)
Napisz przykład wyjścia.
komentarz 18 października 2018 przez MarcinZielony Użytkownik (710 p.)
Scanner scanner= new Scanner (System.in);
String takeOneLine= scanner.nextLine();
 int takeOneInt= scanner.nextInt();
    
 System.out.print("Ile masz lat ");
 takeOneInt=scanner.nextInt();
 scanner.nextInt();

System.out.print("jak sie nazywasz: ");
takeOneLine=scanner.nextLine();

System.out.printf("Witaj , %s, lat %d\n", takeOneInt, takeOneLine);

2 odpowiedzi

+2 głosów
odpowiedź 18 października 2018 przez Jackob Obywatel (1,430 p.)
Polecam kod wstawiać w specjalnych blokach(kolorowanie składni itp)
komentarz 18 października 2018 przez MarcinZielony Użytkownik (710 p.)
Ok. Piszę w Notepad++ i obsługuje w shell'u.

A tak poza dobrą radą, masz pomysł na "to coś"?
+1 głos
odpowiedź 18 października 2018 przez mbabane Szeryf (79,280 p.)

Wydaje mi się, że ma to związek ze specyfiką działania Scannera. Metoda nextInt() nie pobiera znaku entera, który zostaje w buforze podczas pobierania int'a. W normalnym programie takie coś załatwia się najprościej wywołując nextLine zaraz za nextInt(). W shellu natomiast działa to jakoś inaczej i sposób z wywoływaniem nextLine() aby pobrać samego entera, po nextInt, nie działa. Trzeba to obejść zdaje się tak:

int d = Integer.parseInt( scanner.nextLine() );
System.out.println("d: " + d);

String s = scanner.nextLine();
System.out.println("s: " + s);
komentarz 18 października 2018 przez MarcinZielony Użytkownik (710 p.)
Wielkie dzięki. Czyli rozeszło sie o schell'a.

Pozdrawiam

 

Edit: Z małą uwagą, że klasa Scanner inaczej widzi ciąg znaków, więc jednak, po:

age=scanner.nextInt();

trzeba odczytać nową linię (przed sout i nextLine), czyli:

scanner.nextInt();

Podobne pytania

0 głosów
0 odpowiedzi 211 wizyt
0 głosów
1 odpowiedź 598 wizyt
0 głosów
1 odpowiedź 128 wizyt
pytanie zadane 24 lutego 2020 w Java przez Slendok Nowicjusz (120 p.)

92,579 zapytań

141,427 odpowiedzi

319,653 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...