NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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
sisolpes
Člen
Avatar
sisolpes:28.11.2013 16:25

Víte co je zvláštní?
Pole "Simpsonovi" mi funguje v jednom projektu a v druhém ne (příkaz if funguje pouze v prvním indexu).
Neznáte příčinu?

Odpovědět
28.11.2013 16:25
Alt + 2
Avatar
stairn
Neregistrovaný
Avatar
stairn:8.1.2014 13:38

Nezadáváš někoho jiného z rodinky?
Doporučuji upravit na

String[] simpsonovi = {"Homer", "Marge", "Bart", "Lisa", "Meggie", "Abraham", "Mona", "Herbert", "Amber", "Chet", "Cyrus", "Stanley", "Tyrone", "Abbie", "Mabel", "Virgil", "Abraham", "Hiram", "Eliza"};

Ono je jich ve skutečnosti ještě trochu víc... ale tohle jsou základní.

 
Odpovědět
8.1.2014 13:38
Avatar
Matěj Kripner
Tvůrce
Avatar
Matěj Kripner:16.1.2014 20:30

Chtěl bych se zeptat, jestli při metodě sort můžu nadefinovat, zda má funkce seřadit např. čísla od nejmenšího po největší, nebo od největšího po nejmenší.

 
Odpovědět
16.1.2014 20:30
Avatar
lincerix
Člen
Avatar
lincerix:3.3.2014 19:19

Dobrý den / ahoj,

mohl by někdo prosím vysvětlit jak přesně funguje

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

.
Mám na mysli "%s" a také proč je použit "printf". Vím, že to v pár článcích nazpět bylo vysvětlováno, ale vůbec jsem to z toho nepochopil.

Jinak tato Java cvičení jsou fantastická. U cvičení pro tento blok jsem tragicky zamrzl, ale zítra to snad už zdárně vyřeším! Nemůžu se už dočkat na OOP sekci! Díky moc!

Odpovědět
3.3.2014 19:19
Jsem otřesný programátor - začátečník... Ale nikdy mě nic nebavilo tak moc, jako čučet do Javovského kódu.
Avatar
timka511
Člen
Avatar
timka511:19.3.2014 8:50
Integer.parseInt(sc.nextLine())

=

sc.nextInt()
Odpovědět
19.3.2014 8:50
Cokoliv si lidská mysl dokáže představit a čemu dokáže uvěřit, toho lze dosáhnout. (Napoleon Hill)
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na timka511
David Hartinger:21.3.2014 15:54

Ne, tohle je špatně. nextInt() ti načte jen číslo a nechá tam konec řádku, který uživatel zadal. nextLine() načte obsah i konec řádku. Když to budeš takhle používat, tak brzy narazíš na problémy, protože ty linebreaky ti tam budou zůstávat.

Odpovědět
21.3.2014 15:54
New kid back on the block with a R.I.P
Avatar
Martin.mak
Člen
Avatar
Martin.mak:15.4.2014 0:46

Docela dobrý by bylo dodat, že u copyOfRange() nenakopíruje ze Startovací pozice zdrojového pole od Konečné pozice druhého pole, ale prostě do druhého pole nasází všechno od Startovací po Konečnou pozici.. :)

//copyOfRange(ZdrojovéPole, startovní pozice, konečná pozice)
    //kopíruje vše od Startovací pozice až po konečnou pozici
    String[] OblibeniSimpsni = {"Komixák","Milhause","Síímoore"};
    OblibeniSimpsni = Arrays.copyOfRange(simpsonovi, 0, 2);
    for(String s : OblibeniSimpsni)
    {
    System.out.println(s);
    }
 
Odpovědět
15.4.2014 0:46
Avatar
Martin.mak
Člen
Avatar
Odpovídá na Martin.mak
Martin.mak:15.4.2014 0:56

A navíc zbytek pole umaže... Výstup mám pouze Bart, Homer, a to jsem tam dodal ještě 4. pozici .. :)

 
Odpovědět
15.4.2014 0:56
Avatar
Martin.mak
Člen
Avatar
Martin.mak:15.4.2014 1:00

Ale také to může být chyba v programu.. takže raději jako začátečník dodávám celý kompletně spatlaný program..

package pkg7.simpsnovi.arr.w.ays;
import java.util.Arrays;
import java.util.Scanner;
/**
 *
 * @author Martin
 */
public class SimpsnoviArrWAys {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

    Scanner sc = new Scanner(System.in,"windows-1250");
        String[] simpsonovi = {"Homer","Marge","Bart","Lisa","Meggie"};
    //SORT - čísla podle velikost, Stringy podle abecedy
    Arrays.sort(simpsonovi);
    for(String s: simpsonovi)
    {
    System.out.printf("%s ", s);
    }
    int[] IntPole = {2, 3, 4, 5, 1};
    Arrays.sort(IntPole);
        for(int i : IntPole)
        {
        System.out.printf("%d ",i );
        }
    //BINARYSEARCH - vrací index prvního nebo posledního nalezeného prvku,
        //v případě nenalezení vrátí -1
    System.out.println("\n Zadej simpsna (z rodiny simpsnů)");
    String volba = sc.nextLine();
    int pozice = Arrays.binarySearch(simpsonovi,volba);
    if(pozice >= 0)
        System.out.println("Ano tohle je Simpson!");
    else
        System.out.println("Ne tohle není Simpson!");
    //copyOfRange(ZdrojovéPole, startovní pozice, konečná pozice)! Kopíruje část jednoho pole do jiného pole
    //kopíruje vše od Startovací pozice až po konečnou pozici
    String[] OblibeniSimpsni = {"Komixák","Milhause","Skiner","Dedek","Bitches!"};
    OblibeniSimpsni = Arrays.copyOfRange(simpsonovi, 0, 2);
    for(String s : OblibeniSimpsni)
    {
    System.out.println(s);
    }
    // PROMĚNNÁ DÉLKA POLE!
    System.out.println("\n Ahoj spočítám ti průměr známek, kolik známek zadáš?");
    int[] znamky = new int[Integer.parseInt(sc.nextLine())];
        for (int i = 0; i < znamky.length; i++)
        {
        System.out.printf("Zadej prosím %d známku: ", i + 1);
        znamky[i] = Integer.parseInt(sc.nextLine());

        }
    int soucet = 0;
            for (int i : znamky)
            {
            soucet += i;
            }
     float prumer = soucet / (float)znamky.length;
     System.out.println("Průměr tvých známek je: " + prumer);
    }

}
 
Odpovědět
15.4.2014 1:00
Avatar
Martin.mak
Člen
Avatar
Martin.mak:17.4.2014 20:53

Taky by bylo dobré uvést, že foreach neukládá pole. Teď mi na tom ztroskotal kód z Vigenerovi šifry :)

 
Odpovědět
17.4.2014 20:53
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.