| | |
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Autor | Správa |
---|
Registrovaný: 02.07.06 Prihlásený: 24.04.24 Príspevky: 14183 Témy: 312 Bydlisko: Bratislava |
Zdravim
Vcera som kamaratke pomahal s jednou ulohou. Ulohou bolo vytvorit instanciu, ktorej jednym z parametrov bol String. Chceli sme vytvorit objekty. String sme vlozili do premennej asi takto:
Kód: String spz = sc.nextLine(); a prebehlo to v poriadku.
Ked som sa o to pokusil druhy krat (bolo to v cycle), toto zadavanie preskocilo a slo hned na dalsie, co bolo v tomto pripade tusim nacitanie nejakeho int a to prebehlo v poriadku. Problem je len v Stringu, prvy krat ho nacita, no dalej ho vzdy preskoci, preco ?
PS: sc je instancia Scanner-u
_________________ PODPIS BOL UPRAVENÝ / ZMAZANÝ Z DÔVODU PORUŠOVANIA PRAVIDIEL FÓRA! |
|
Registrovaný: 09.12.08 Prihlásený: 08.02.12 Príspevky: 44 Témy: 11 |
bolo by dobre keby si tu dal cely kod,nie len jeden riadok
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Johnnny, si na fóre dosť dlho na to, aby si vedel, že toto je neskutočne slabé popísanie problému pri programovaní..... chyba môže byť úplne inde. Hovoríš o cykle a pritom sem dáš len jeden riadok...
_________________ C#, PHP, ... |
|
Registrovaný: 02.07.06 Prihlásený: 24.04.24 Príspevky: 14183 Témy: 312 Bydlisko: Bratislava | Napísal autor témy Johnnny: 21.01.2011 9:59 | |
|
Ospravedlnujem sa, ten kod nie je v mojom notebooku a snazil som sa dostatocne to popisat, kedze podla mna tu ide len o nejaky neduh Stringu.
Kód: public static void naplnJazdy(Jazda[] jazdy) { for (int i = 0; i < jazdy.length; i++) { System.out.println("Vloz evidencne cislo"); String cislo = vstup.nextLine(); System.out.println("Vloz dlzku jazdy"); int jazda = vstup.nextInt(); System.out.println("Vloz datum jazdy"); System.out.println("Den"); int den = vstup.nextInt(); System.out.println("Mesiac"); int mesiac = vstup.nextInt(); System.out.println("Rok"); int rok = vstup.nextInt();
jazdy[0] = new Jazda(cislo, jazda, new Datum(den, mesiac, rok)); } }
Snazil som sa ten kod napodobnit, takze by to malo byt nejak takto ...
_________________ PODPIS BOL UPRAVENÝ / ZMAZANÝ Z DÔVODU PORUŠOVANIA PRAVIDIEL FÓRA! |
|
Registrovaný: 01.04.10 Prihlásený: 08.10.11 Príspevky: 339 Témy: 0 | Napísal Forty-: 21.01.2011 10:42 | |
|
Oprav to takto:
Kód: String cislo = vstup.next();
|
|
Registrovaný: 02.07.06 Prihlásený: 24.04.24 Príspevky: 14183 Témy: 312 Bydlisko: Bratislava | Napísal autor témy Johnnny: 21.01.2011 11:30 | |
|
oki, dik, takto to funguje, ale zaujima ma preco je to tak ... Dalo by sa to nejak v jednoduchosti vysvetlit ?
BTW: a len tak mimo, zvysok kodu je v poriadku vzhladom na to co ma robit ? Alebo sa to da nejak zjednodusit ?
_________________ PODPIS BOL UPRAVENÝ / ZMAZANÝ Z DÔVODU PORUŠOVANIA PRAVIDIEL FÓRA! |
|
Registrovaný: 01.04.10 Prihlásený: 08.10.11 Príspevky: 339 Témy: 0 | Napísal Forty-: 21.01.2011 11:49 | |
|
nextLine hlada prvy token noveho riadku, a kedze nakonci cyklu stlacis enter tak to vezme ako jeden riadok a ide dalej ...
navrhovo je to take skolske. v praxi si nemozes dovolit veci ako ocakavat ze tam naozaj bude integer, treba chytat NumberFormatException a adekvatne osetrit kod ...
k tvojej otazke: zjednodusit nie, len zrobustnit (tj. viac blbuvzdorneho kodu). Ale hlavne, ze to splna zadane no nie? )
|
|
Registrovaný: 02.07.06 Prihlásený: 24.04.24 Príspevky: 14183 Témy: 312 Bydlisko: Bratislava | Napísal autor témy Johnnny: 21.01.2011 12:02 | |
|
noooo, takze dik za vysvetlenie, ale mam taky blby zvyk, nevychytavat vynimky. Akosi si vzdy vravim ze sa tym zacnem zaoberat casom. Chapem ich dolezitost, no kedze to co vytvaram je zatial len pre moje "edu" ucely, "blbuvzdorny" kod zatial ignorujem. Ale v tom sa polepsim.
No a k tomu"hlavne ze to splna zadanie". Rad by som sa to aj naucil, nie len presiel, preto som sa to pytal .
V kazdom pripade, dik
_________________ PODPIS BOL UPRAVENÝ / ZMAZANÝ Z DÔVODU PORUŠOVANIA PRAVIDIEL FÓRA! |
|
Registrovaný: 01.12.09 Prihlásený: 20.04.19 Príspevky: 862 Témy: 26 Bydlisko: Žilina | Napísal Bajzik: 03.02.2011 11:25 | |
|
Keďže si z FRI, zrejme si mal podobné zadanie ako ja. Ja som to ošetril vsunutím prázdneho line pred ten line ktorý potrebuješ.
Kód: String prazdne = sc.nextLine(); System.out.println("Zadajte ŠPZ"); String spz = sc.nextLine();
Pre mňa funkčné, vybojoval som si tým Áčko =D
_________________ PC :ASUSTeK M2A-VM, AMD Phenom X3 8650 AM2 @ 2,3 Ghz, 4 GB RAM DDR2 1800 MHz, SAPPHIRE HD 6770 VAPOR-X 1GB DDR5, 400W Zdroj, 500 GB HDD, Windows Vista 64 bit
Notebook : Asus EEEPC 1201NL, intel Atom N270 512 KB L2 Cache 533 MHz FSB @ 1,6 Ghz, 1 GB DDR2 RAM, nVidia ION, 320 GB HDD, Windows XP 32 bit
Iná technika : LG P500 (806 Mhz, Android 2.3.3 Gingerbread, root, JIT), Koss Pathfinder, kedysi iPhone =( |
|
Registrovaný: 01.04.10 Prihlásený: 08.10.11 Príspevky: 339 Témy: 0 | Napísal Forty-: 03.02.2011 18:11 | |
|
Bajzik-
Napad s prazdnym nextLine nie je zly. Akurat si tam absolutne zbytocne zadeklaroval premennu. Staci tam len Kód: sc.nextLine()
|
|
Registrovaný: 01.12.09 Prihlásený: 20.04.19 Príspevky: 862 Témy: 26 Bydlisko: Žilina | Napísal Bajzik: 03.02.2011 18:13 | |
|
Aha jasné, pomýlil som si to. Chápem =) Okej.
_________________ PC :ASUSTeK M2A-VM, AMD Phenom X3 8650 AM2 @ 2,3 Ghz, 4 GB RAM DDR2 1800 MHz, SAPPHIRE HD 6770 VAPOR-X 1GB DDR5, 400W Zdroj, 500 GB HDD, Windows Vista 64 bit
Notebook : Asus EEEPC 1201NL, intel Atom N270 512 KB L2 Cache 533 MHz FSB @ 1,6 Ghz, 1 GB DDR2 RAM, nVidia ION, 320 GB HDD, Windows XP 32 bit
Iná technika : LG P500 (806 Mhz, Android 2.3.3 Gingerbread, root, JIT), Koss Pathfinder, kedysi iPhone =( |
|
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| C - načítanie stringu v Assembler, C, C++, Pascal, Java | 14 | 1898 | 17.10.2010 21:33 remus | | java - kontrola stringu v Assembler, C, C++, Pascal, Java | 15 | 641 | 16.12.2010 14:22 arnie16 | | JAVA - získanie stringu zo súboru v Assembler, C, C++, Pascal, Java | 6 | 419 | 21.04.2014 23:34 XOLOO | | Jlist nacitanie mien suborov /JAVA/ v Assembler, C, C++, Pascal, Java | 0 | 804 | 09.01.2009 1:26 milanbb55 | | Java - načítanie JPG obrázku a jeho vykreslenie v Assembler, C, C++, Pascal, Java | 2 | 1148 | 12.04.2010 10:54 Forty- | | opatovne zapinanie win ale bez uspechu v Operačné systémy Microsoft | 1 | 245 | 01.08.2016 21:43 HeaTTT | | Ceny DDR2 sa opätovne začínajú zvyšovať v Novinky | 4 | 452 | 05.05.2008 17:38 Qpkqkma | | Acer Extensa 5220 - opätovne prepnutie AHCI v Notebooky a netbooky | 5 | 1732 | 04.04.2008 9:14 ScorpionSX | | opatovne vykonanie php pri stlaceni tlacidla spat v PHP, ASP | 4 | 509 | 29.12.2012 18:50 boyindoor | | Rozostrenie a opatovne zaostrenie obrazu pri hrani v nVidia grafické karty | 7 | 426 | 19.12.2013 11:11 brmbo | | Problém s Xp Home a opätovné nahodenie OS v Operačné systémy Microsoft | 12 | 448 | 26.11.2009 10:48 XerXes | | Dom z stringu v JavaScript, VBScript, Ajax | 3 | 443 | 16.03.2010 20:59 juho | | Pole do stringu v PHP, ASP | 3 | 398 | 10.03.2009 17:34 Tominator | | C++ kopirovanie stringu v Assembler, C, C++, Pascal, Java | 2 | 409 | 14.11.2012 18:09 faraon | | vycuc zo stringu v PHP, ASP | 4 | 437 | 24.05.2009 22:17 Blackdevil | | pridavanie medzier do stringu v PHP, ASP | 7 | 421 | 31.01.2009 21:38 stenley |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|