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
Redaktor
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  +1 22.10.2014 19:19
Neaktivní uživatelský účet
Avatar
Matěj Kripner
Redaktor
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  -3 22.10.2014 20:03
To understand what recursion is, you must first understand recursion.
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.