IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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í.
Avatar
dinokino
Člen
Avatar
dinokino:22.10.2014 19:01

Dobrý den, může mi někdo poradit,proč nejdou přiřadit hodnoty do pole v konstruktoru tímto způsobem?

public class Cisla {
    int min;
    int max;
    int cisla[];
    Cisla(){
        min=max=0;
        this.cisla[]={10,5};
    }

tento způsob funguje:

public class Cisla {
    int min;
    int max;
    int cisla[];
    Cisla(){
        min=max=0;
        this.cisla[0]=10;
        this.cisla[1]=2;
    }
 
Odpovědět
22.10.2014 19:01
Avatar
qwertyW
Tvůrce
Avatar
Odpovídá na dinokino
qwertyW:22.10.2014 19:15

Předpokládám ze složená zavorka se da použít pouze při definování pole

Nahoru Odpovědět
22.10.2014 19:15
Programuji, tedy jsem.
Avatar
Odpovídá na dinokino
Neaktivní uživatel:22.10.2014 19:19

Ani jeden zo spôsobov nemôže fungovať a ani mi nefunguje.

public class Cisla {
    private int[] numbers = {1, 2};
    private int[] numbers1 = new int[10];
    private int[] numbers2;

    public Cisla(){
        numbers2 = new int[10]
    }
}

Tu sú spôsby ako môžeš v triede inicializovať pole. Týmto vytvoríš iba referenciu:

int[] pole;

samotné pole vytvoríš až pomocou new alebo {1, 2} pri inicializácii.

Nahoru Odpovědět
22.10.2014 19:19
Neaktivní uživatelský účet
Avatar
Matěj Kripner
Tvůrce
Avatar
Odpovídá na dinokino
Matěj Kripner:22.10.2014 20:03

V konstruktoru při initializaci pole už neuváděj hranaté závorky:

this.cisla={10,5}

Pokud by to nefungovalo, zkus

this.cisla=new int[]{10,5}
 
Nahoru Odpovědět
22.10.2014 20:03
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 4 zpráv z 4.