NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze – Lekce 12 - Pole v Javě

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
pocitac770
Tvůrce
Avatar
Odpovídá na iqbigbang
pocitac770:5.1.2016 20:00

Úplně stejně, jako je tady popisováno postupné vypisování členů, akorát místo vypisování si je budeš přidávat do Stringu, a ten pak použiješ.

 
Odpovědět
5.1.2016 20:00
Avatar
B42P6
Člen
Avatar
Odpovídá na iqbigbang
B42P6:5.1.2016 20:36

Použi

char array[]={'t','e','x','t'};
String s=String.valueOf(array);
;)
Odpovědět
5.1.2016 20:36
'long long long' is too long for GCC
Avatar
jakubho
Člen
Avatar
jakubho:8.1.2016 18:38
Arrays.sort(simpsonovi);
   for (String s : simpsonovi)
        System.out.printf("%s ", s);

Nechápu tento kus kódu. Když jsem se učil cykly, platilo

for (řídící proměnná; podmínka;zvětšení proměnné o 1)
//příkazy

Jak funguje cyklus v tomto programu nechápu. Potom by mě zajímalo v tomto řádku:

System.out.printf("%s ", s);

Jak funguje "%s ". Když jsem to umazal, vypsalo to simpsny tak, že mezi nimi nebyly mezery, když to tám nechám, tak s mezerami. Toto je tedy jediná věc, kdy toto použít? Jak poznám, kdy bych to měl použít? Navíc v nějakém minulém díle jsem viděl zase "%d ". Záleží tedy na proměnné, kterou chceme upravit tak, aby měly jednotlivá slova ve Stringové proměnné mezi sebou mezery, když se vypíší?

Odpovědět
8.1.2016 18:38
Chyba-Jediná jistota v životě programátora.
Avatar
Odpovídá na jakubho
Vladislav Domin:8.1.2016 18:44

Cyklus, na ktory sa pytas je for each

for (datovy typ premenna : kolekcia)
        // příkazy

Ak by bolo pole celociselne, tak by to vyzeralo nasledovane

int[] pole = new int[dlzka];
for (int názov : pole)

Da sa zapisat aj ako

for(int i = 0; i < pole.length; i++)
        System.out.println(pole[i]);

Viac mas napisane v tomto tutoriali

 
Odpovědět
+1
8.1.2016 18:44
Avatar
jakubho
Člen
Avatar
Odpovídá na Vladislav Domin
jakubho:8.1.2016 18:53

Už chápu, díky :-)

Odpovědět
8.1.2016 18:53
Chyba-Jediná jistota v životě programátora.
Avatar
tomisoka
Tvůrce
Avatar
Odpovídá na jakubho
tomisoka:8.1.2016 19:18

Ještě k printf:
ta bere jako parametr string, který má vypsat, přičemž pokud se tam objeví "%x" tak to nahradí dalším parametrem.
"%s" -> parametr použije jako string
"%d" -> parametr použije jako int
(nevím co za chybu to udělá pokud tam bude něco jiného, buď spadne, nebo vypíše blbost)

V tomto případě:

System.out.printf("%s ", s);
"%s " //zformátuje jako
s+ " "

Pokud odstraníš "%s ", bude to vypisovat s a v něm hledat případy jako "%s" (které samozřejmě nenajde).

 
Odpovědět
+1
8.1.2016 19:18
Avatar
Jirka
Člen
Avatar
Jirka:24.3.2016 15:14
int[] pole = new int[10];
pole[0] = 1;
for (int i = 0; i < 10; i++)
        pole[i] = i + 1;
for (int i : pole)
        System.out.printf("%d ", i);

je nutné u tohoto kódu psát pole[0] = 1; ? Vypíše mi číselnou řadu i bez tohoto. Případně prosím o vysvětlení, proč to tam musí být? Děkuji

 
Odpovědět
24.3.2016 15:14
Avatar
B42P6
Člen
Avatar
Odpovídá na Jirka
B42P6:24.3.2016 16:18

Nemusí to tam byť, slúži to len k tomu aby si pochopil ako pristupuješ k prvkom poľa. Keď sa pozrieš pozornejšie na prvý for cyklus:

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

uvidíš že v prvej iterácii uložíš na index 0 ( pole[0] ) hodnotu 1.

Odpovědět
24.3.2016 16:18
'long long long' is too long for GCC
Avatar
filiptartott
Člen
Avatar
filiptartott:17.4.2016 12:26

nechapem tomuto-
sucet + = i;

 
Odpovědět
17.4.2016 12:26
Avatar
mayo505
Tvůrce
Avatar
Odpovídá na filiptartott
mayo505:17.4.2016 12:31

je to skrátený zápis tohoto

sucet = sucet + i;

Proste sa k súčtu pripočíta i

 
Odpovědět
+1
17.4.2016 12:31
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 10 zpráv z 222.