Avatar
petrdolan8693:

Ahoj všem ve svém zdrojovém kódu, na kterém teď pracuji v rámci seminární práce, jsem si napsal metodu pro naplnění matice náhodnými čísly od 5 do 10. Problém je v tom, že tuto metodu nemohu v hlavní třídě zavolat. Namísto toho mi NetBeans nabízí vytvoření metody znovu. Podotýkám, že nejsem jeden z lidí, který Vám tu napíše zadání práce, a bude prosit o vypracování. Jde spíše o to, že v některých věcech potřebuju postrčit správným směrem. Tenhle problém mám i ve škole, bylo mi řečeno, že mám správné, ale moc složité myšlení. Možná je to dáno i tím, že mám dětskou mozkovou obrnu, ale počítače jsou můj koníček, tak jsem se rozhodl bojovat. Díky za případnou pomoc.

 
Odpovědět 26.5.2015 17:44
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na petrdolan8693
Jan Vargovský:

Ty metody jsou vázané k instanci, takže musíš nejdřív vytvořit instanci na třídě Matice a pak to na ní zavolat. Ale ten návrh je takový divný, ale na to snad přijdeš, jestli ne tak se ozvi :)

Matice m = new Matice(...);
m.NaplnMatici(...);
 
Nahoru Odpovědět 26.5.2015 17:54
Avatar
Odpovídá na Jan Vargovský
petrdolan8693:

Napadá mě, zda by nebylo lepší vytvořit samstatnou metodu pro vytvoření matice, které pak předám ten načtený rozměr od uživatele :)

 
Nahoru Odpovědět 26.5.2015 18:18
Avatar
MrPabloz
Člen
Avatar
Odpovídá na petrdolan8693
MrPabloz:

Tak samozřejmě můžeš, např si to udělat v konstruktoru samotné třídy matice, zadáš dva vstupní parametry x, y, a rovnou v konstroktoru si zavoláš funkci nalnMatici(). Akorát to budešm uset trochu přkopat, to je vše :)
Tudíž to bude pak něco ve stylu:

public Matice(int x, int y)
{
    matice = new int[x][y];
    naplnMatici();
}
public void naplnMatici()
{
//a zde naplníš... nezapomen, že v javě si velikost pole zjistíš pomocí       matice.length popř matice[].length. takže to stačí zadat jen v konstruktoru, poté si to taháš pomocí pole.length :)
}

Druhá možnost je udělat to ve statické metodě která ti bude vracet instanci objektu Matice.

public static Matice createMatice(int x, int y)
{
    //vytvoření instance
    //naplnění matice, volání viz. víše od Jan Vargovský
    //return instance matice
}
Nahoru Odpovědět 27.5.2015 10:00
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
petrdolan8693:

Děkuji všem za rady :)

 
Nahoru Odpovědět 30.5.2015 17:10
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 5 zpráv z 5.