BlueJ - problém s Pecinovského tutoriálem – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

BlueJ - problém s Pecinovského tutoriálem – Java – Fórum – Programujte.comBlueJ - problém s Pecinovského tutoriálem – Java – Fórum – Programujte.com

 

Tomix0
Stálý člen
5. 3. 2008   #1
-
0
-

Jedu podle knížky Myslíme objektově v Javě 1.5.
Zádrhel mám u vytváření metod nakresli a smaž, pro tř. Strom. (str.118)
Třída se přeloží bez chyby, ale když vpustím instance z přípravku do zásobníku,
tak jim nemůžu poslat zprávy na smazání a nakreslení. Místo metod tam mám šedé
No accessible method.

Dovede mi někdo říct proč?

Třída Strom:



public class Strom
{
private Elipsa koruna;
private Obdelnik kmen;

private void nakresli()
{
koruna.nakresli();
kmen.nakresli();
}
private void smaz()
{
koruna.smaz();
kmen.smaz();
}

public Strom()
{
this( 0, 0 );
}

public Strom( int x, int y )
{
this( x, y, 100, 150 );
}

public Strom( int x, int y, int šířka, int výška )
{
new Elipsa ( x, y, šířka, 2*výška/3, Barva.ZELENA );
new Obdelnik( x+9*šířka/20, y+2*výška/3,
šířka/10, výška/3, Barva.CERVENA );
}
}

Na plátno se stromy nakreslej, ale ty metody nemaj.

Edit: Problém je asi tady:


Já tam nemám odkazy, ale "null":


Proč?

Nahlásit jako SPAM
IP: 78.102.169.–
JanKodera0
Newbie
5. 3. 2008   #2
-
0
-

No asi problem bude zde



public Strom( int x, int y, int šířka, int výška )

{

new Elipsa ( x, y, šířka, 2*výška/3, Barva.ZELENA );

new Obdelnik( x+9*šířka/20, y+2*výška/3,

šířka/10, výška/3, Barva.CERVENA );

}


zkuste to upravit takto


public Strom( int x, int y, int šířka, int výška )

{

this.koruna = new Elipsa ( x, y, šířka, 2*výška/3, Barva.ZELENA );

this.strom = new Obdelnik( x+9*šířka/20, y+2*výška/3,

šířka/10, výška/3, Barva.CERVENA );

}


Takto incializujete objekty do promenych, ktere mate napsane v objektu strom. Predtim jste pouze tvoril objekty, ale neprirazoval jste je promenym. Java tedy zcela logicky vraci ze uvedene promene jsou null. Zkuste to,myslim ze by to melo fungovat.

Nahlásit jako SPAM
IP: 213.220.245.–
Tomix0
Stálý člen
5. 3. 2008   #3
-
0
-

To Tomix :

Vyřešeno, mám tam chyb jak máku...
Metody mají být public a v konstruktoru stromu mi chybí:
30 koruna = new Elipsa (...
31 kmen = new Obdelnik(...

Ach jo..

Nahlásit jako SPAM
IP: 78.102.169.–
Daniel
~ Anonymní uživatel
74 příspěvků
19. 3. 2008   #4
-
0
-

No měl jsem šanci si tuhle knihu přečíst, ale podle mě jsou lepší.
Pan Pečinovský je jistě uznávaný odborník ale jeho formulace
jsou podle mého často spíše zavádějící.
Já bych každému nejraději doporučil Herouta, jeho knihy sice
nedosahují takové objemnosti ale jsou jasné a polopatické.
PS: Robotická analogie je děsivá že?

Nahlásit jako SPAM
IP: 85.160.18.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

Bluej úkol — založil Mejty

BlueJ - program — založil Wenator

BubbleSort v BlueJ — založil country

Pomoc java bluej — založil ori

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý