Avatar
dinokino
Člen
Avatar
dinokino:

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
Redaktor
Avatar
Odpovídá na dinokino
qwertyW:

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:

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  +1 22.10.2014 19:19
Neaktivní uživatelský účet
Avatar
Matěj Kripner
Redaktor
Avatar
Odpovídá na dinokino
Matěj Kripner:

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  -3 22.10.2014 20:03
"We reject kings, presidents and voting. We believe in rough consensus and running code" David Clark
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.