On Sunday 09 July 2006 09:25, Moody wrote:
> Prepisal som ten kod takto>
>
> import java.lang.*;
> import java.applet.*;
> import java.awt.Graphics;
> import java.awt.Event;
> import java.awt.Image;
> import java.awt.*;
> public class Auto extends java.applet.Applet
> {
> //Definujeme si premenne
> int key;
> int zrychlenie=1;
> boolean pridavaj=true;
> int y=100;
> int x=50;
> int rychlost=0;
> Image auto;
> public void init()
> {
> auto=getImage(getDocumentBase(), "auto.gif");
> }
> public boolean keyDown(Event evt, int key)
> {
> switch (key)
> {
> case Event.DOWN :
> y=rychlost+y;
> if (rychlost==20)
> {
> pridavaj=false;
> }
> else
> {
> rychlost=rychlost+zrychlenie;
> pridavaj=true;
> }
> break;
> case Event.UP :
> y=y-rychlost;
> break;
> }
> }
> public void paint(Graphics g)
> {
> g.drawImage(auto,x,y,this);
> }
> }
>
> A teraz mi na3lo chybu v riadku so znakom:
> }
> Je to o 2 riadky nižšie od 2.riadku s break.
> Ako mam upravit tuto chybu.
A) Slysel jsi uz nekdy o indentaci? Vis, to je takova zajimava vlastnost, ze
mezery, tabelatory a prazdne radky od sebe vizualne oddeluji veci spolu ne
primo souvisejici a definuji hloubku zanoreni. V Pythonu ma pak indentace i
semanticky vyznam - pro pripad, ze bys zapomel napsat slozenou zavorku. -
porovnej tvuj kod s kodem prilozenym.
B) Nenapsal jsi, co za chybu ti to hodilo - pak se tezko radi rychle - clovek
si musi kod stahnout, predhodit kompilatoru a podivat se, co a jak.
C) Doporucuji si precist, co ti to hlasi za chybu. Mne idea rika, ze ti chybi
return a sama ho nabizi doplnit ;-) a totez hlasi i javac. A neni se cemu
divit - kdyz metoda je deklarovana jako boolean, tak holt musi neco vratit,
ze?
D) Doporucuji nastudovat JavaDoc k tride java.applet.Applet
(http://java.sun.com/j2se/1.5.0/docs/api/java/applet/Applet.html). Pri te
prilezitosti se dozvis, ze public boolean keyDown(,) je davno deprecated,
tedy zastarala, a take se dozvis, co pouzivat misto ni.
E) A co se tyka stylu programovani, doporucuji precist neco maleho, treba
Myslime v Jave, a podivat se na pojem zapouzdreni ;-)
--
Oto 'tapik' Buchta, [EMAIL PROTECTED]
http://www.buchtovi.cz
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
import java.lang.*;
import java.applet.*;
import java.awt.Graphics;
import java.awt.Event;
import java.awt.Image;
import java.awt.*;
public class Auto extends java.applet.Applet
{
//Definujeme si premenne
int key;
int zrychlenie=1;
boolean pridavaj=true;
int y=100;
int x=50;
int rychlost=0;
Image auto;
public void init()
{
auto=getImage(getDocumentBase(), "auto.gif");
}
public boolean keyDown(Event evt, int key)
{
switch (key)
{
case Event.DOWN :
y=rychlost+y;
if (rychlost==20)
{
pridavaj=false;
}
else
{
rychlost=rychlost+zrychlenie;
pridavaj=true;
}
break;
case Event.UP :
y=y-rychlost;
break;
}
return super.keyDown(evt,key);
}
public void paint(Graphics g)
{
g.drawImage(auto,x,y,this);
}
}