NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Začátečník - Arrays.sort chyba

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Jan Škvrna
Člen
Avatar
Jan Škvrna:26.5.2016 22:19

dobrý večer,
Pro zábavu jsem si chtěl vytvořit program v java, který se zeptá na 5 časů, seřadí a vypíše. Zde je můj zdrojový kód . Arrays.sort vždy vyhodí chybu po vepsání 5ti výsledků.
Děkuji všem za rady :)

 
Odpovědět
26.5.2016 22:19
Avatar
pocitac770
Tvůrce
Avatar
Odpovídá na Jan Škvrna
pocitac770:26.5.2016 22:40

Pole (a vlastně všechny "seznamy" v programování) mají indexy od 0 - (velikost-1), neboli když si vytvoříš pole o velikosti 5, tak budou mít prvky indexy 0-4. A ty se snažíš pracovat s neexistující pozicí 5 :)
Zkus si někdy přeložit to, co ti píše v chybovém výstupu, určitě jsi tam měl

IndexOutOfBoundsException

Už to ti řekne hodně.

Editováno 26.5.2016 22:41
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
26.5.2016 22:40
Avatar
Petr Kunčar
Tvůrce
Avatar
Petr Kunčar:26.5.2016 22:43

Cau,
doporucuji ti si procist tento clanek: http://www.itnetwork.cz/…ro-pokrocile
a pouzivat misto pole kolekce. Je to jednodusi, veci uz jsou tam hotove a overene a muj osobni nazor je ze je to objektovejsi pristup. Coz java je objektovy jazyk.

Dale bych te pro priste poprosil, aby jsi sem i napsal chybu, kterou to vyhazuje :)
chyba zni: Exception in thread "main" java.lang.Arra­yIndexOutOfBou­ndsException

Jinak v tvem kodu je chyba v pristupu do pole. Pole se v jave indexuje od 0.
Tudiz prvek vysledky[5] to nezna a jsi mimo pole.

Oprava: http://www.itnetwork.cz/dev-lighter/743

 
Nahoru Odpovědět
26.5.2016 22:43
Avatar
pocitac770
Tvůrce
Avatar
Odpovídá na Petr Kunčar
pocitac770:26.5.2016 23:02

Dobré doporučení, ale spíš pro někoho, kdo už se v Javě více orientuje, zde máme příklad začátečníka, co ještě (pravděpodobně) ani neví, co je OOP, a ty mu předhazuješ článek, který jsi sám zařadil do sekce "pro pokročilé".... :D Samozřejmě, že jsou lepčí kolekce, ale k tomu se teprve musí dostat, a sám vím, že toto "přeskakování" na pokročilejší věci, které ještě jsou mimo tvoje chápání onoho jazyka, přinese spíše zamotání a špatné pochopení, ne-li špatné návyky odůvoďnované způsobem "já jsem se to tak naučil, proč se to učit jinak"....

Editováno 26.5.2016 23:03
 
Nahoru Odpovědět
26.5.2016 23:02
Avatar
Jan Škvrna
Člen
Avatar
Jan Škvrna:27.5.2016 15:51

Díky všem :) už to funguje. Taková primitivní chyba. K tomu článku se určitě dostanu :) teď dokončuju základy :)
Ještě jednou dík :)

 
Nahoru Odpovědět
27.5.2016 15:51
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.