Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 12. diel - Pole v Jave

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Norbert Hrdlicka
David Hartinger:16.7.2018 13:26

Přečíst si chybovou hlášku.

Odpovedať
New kid back on the block with a R.I.P
Avatar
Odpovedá na Norbert Hrdlicka
Neaktivní uživatel:16.7.2018 14:17

Nemáš třeba místo středníku čárku/nic? Podle toho jak jsi to napsal to vypadá, že ano.

Odpovedať
Neaktivní uživatelský účet
Avatar
pocitac770
Tvůrce
Avatar
Odpovedá na Norbert Hrdlicka
pocitac770:16.7.2018 16:32

Také možnost, že tam máš napsáno opravdu [ ], mezi těmi závorkami nemá být mezera

Avatar
Odpovedá na David Hartinger
Norbert Hrdlicka:17.7.2018 7:57

Exception in thread "main" java.lang.Run­timeException: Uncompilable source code - not a statement
at pole.Pole.main(Po­le.java:22)
C:\Users\blan­ka\AppData\Lo­cal\NetBeans\Cache\8­.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 1 second)

toto je chybová hláška co mi vyjela bohužel nevím co sní :(

Avatar
Odpovedá na Norbert Hrdlicka
Matúš Olejník:17.7.2018 9:34

Choď do Pole.java na riadok 22, celý ho skopíruj a vlož sem.

Odpovedať
/* I am not sure why this works but it fixes the problem */
Avatar
Jakub Říman:12.10.2018 9:37

Ahoj, není mi jasný tento příklad:

int[] pole = new int[10];
pole[0] = 1;
for (int i = 0; i < 10; i++) {
pole[i] = i + 1;
}

Proč je tam ten druhý řádek pole[0] = 1; ? Vždyť cyklus pod ním stejně ten první index naplní...

Avatar
pocitac770
Tvůrce
Avatar
Odpovedá na Jakub Říman
pocitac770:12.10.2018 13:14

To tam nepatří normálně, je to jenom ukázka toho, že to dělá jedno a totéž

Avatar
Odpovedá na pocitac770
Jakub Říman:13.10.2018 17:08

Díky. A ještě mám jeden dotaz. Zkoušel jsem si napsat program, kde zadám délku pole (stringy) a program mi následně vypíše, co jsem zadal:

package pracespolem;

import java.util.Scanner;

public class PracesPolem {

public static void main(String[] args) {
Scanner sc = new Scanner (System.in, "Windows-1250");
System.out.prin­tln("Zadej počet prvků pole");
int pocetprvku = Integer.parse­Int(sc.nextLi­ne());
String pole[] = new String[pocetprvku];

for(int i = 1; i <= pocetprvku; i++)
{
System.out.prin­tln("Zadej" + i + ". prvek");
pole[i] = sc.nextLine();
}
System.out.prin­tln("Nyní ti vypíšu, co všechno jsi zadal:");
for (String j : pole)
{
System.out.print(j + " ");
}

}
}

Program se spustí, ale když má vypsat, že mi nyní zopakuje, co jsme napsal, tak spadne a hodí hlášku: "Exception in thread "main" java.lang.Arra­yIndexOutOfBou­ndsException: 2
at pracespolem.Pra­cesPolem.main(Pra­cesPolem.java:22)
C:\Users\Jakub\Ap­pData\Local\Net­Beans\Cache\8­.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 7 seconds)"

ať koukám, jak koukám, nevím, čím to může být. Moc děkuju za případné rady!

Avatar
LeNa
Člen
Avatar
Odpovedá na Jakub Říman
LeNa:13.10.2018 18:18

V cyklu jsi vylezl mimo pole.

Avatar
Odpovedá na Jakub Říman
Matúš Olejník:13.10.2018 18:19

Ak si poriadne prečítaš tento článok zistíš že indexovanie prvkov v poli začína od 0. Takže keď v takomto cykle, kde i je index v tvojom poli,

for(int i = 1; i <= pocetprvku; i++)

vkladáš údaje do poľa tak pri poslednom načítaní ti vyhodí tvoju chybu pretože ideš ukladať niečo mimo rozsah tvojho poľa. Preto si uprav ten cyklus takto

for(int i = 0; i <  pocetprvku; i++)
Odpovedať
/* I am not sure why this works but it fixes the problem */
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 222.