🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #8654

Re: Paar vraagskes over java voor examen

#8654
From: Gunther
Date: Wed, 19 Jun 2002 21:12
85 lines
4042 bytes
"Ruben" <ruben@gekiere.com> wrote in message
news:8a5Q8.40988$ud.5838@afrodite.telenet-ops.be...
> Morgen examen van java en der zijn nog wa dingen dak nie goe niemer weet:
>
>
> voor een array: onderaan staat mijn code, wat is er mis mee ?
(een) Oplossing: zie beneden

> moet ik arrays in het init gedeelte van een applet declareren of mag het
> erbuiten ?

De init-methode wordt 1 keer opgeroepen gedurende de uitvoering van een
applet, en is altijd de eerste methode die wordt opgeroepen in elke applet.
Die init methode dient om aan uw instantievariabelen (getallen hier) een
waarde toe te kennen (getallen[0]=5; etc.) en initialiseert dus de
variabelen.  (zolang variabelen enkel gedeclareerd zijn en niet
ge�nitialiseerd nemen ze geen plaats in, in het geheugen) Het declareren van
een variabele (dus den array bij u) gebeurd waar ge wilt; hangt er vanaf of
ge uw variabele zichtbaar wilt hebben voor alle methoden in uw klasse
(globale variabelen) of enkel in die methode (lokale variabelen). In uw
geval moet ze globaal zijn want ge hebt ze zowel in init en in paint nodig.
Wat er groof fout is bij u is dat ge schrijft:
int getallen[] = new int[3];
getallen[0]=5;
getallen[1]=4;
getallen[2]=3;
=> 2de, 3de en 4de regel kent compiler getallen niet, zo'n zaken dus in den
init zetten

Andere fout:
g.drawString(getallen[0] + getallen[1] + getallen[2],60,60);
=> drawString met parameters int, int, int bestaat nt, wel string, int, int
Simpele oplossing is hiervoor concateneren met een string dus:
    g.drawString(getallen[0] + getallen[1] + getallen[2]+"",60,60);
Zie je het? Nu behandeld hij deze als een string ipv int

Detail: je maakt best getallen private => inkapseling van waarden

> arrays starten van 0, als ik een neem bv getallen[3] , is dat dan van 0-2
(3
> elementen)  of van 0-3 (4 elementen) ??

bv int getallen[] = new int[3];
lengte = 3;
in java duidt je elk element in deze rij aan door: getallen[0] ;
getallen[1];  getallen[2]
Wanneer je schrijft getallen[3] krijg je een ArrayIndexOutOfBoundsException
omdat je wil verwijzen naar een element in de rij dat niet bestaat nl het
vierde.
Wanneer je de getallen van bv 0 tot 3 wilt optellen kun je dit zo doen:
    int som = getallen[0] + getallen[1] + getallen[2]
of
    int som = 0;
    for(int i=0; i < getallen.length;i++)
        som += getallen[i];

Is dit een antwoord op je vraag?

Oplossing:
 **************************************************************
import java.awt.*;
import java.applet.*;


public class VoertuigTestApllet extends Applet {
   private int getallen[] = new int[3];

public void init(){
     getallen[0]=5;
     getallen[1]=4;
     getallen[2]=3;
}
 public void paint(Graphics g) {
 double test = 5.3;
 g.drawString(Double.toString(test),60,60);
 g.drawString(getallen[0] + getallen[1] + getallen[2]+"",60,60);

 }

}
 **************************************************************

succes,
Gunther (die hoopt dat hem hier geen stomme fouten heeft ingeschreven, kzen
zo moe :) )
Technical Details
Message-ID: <3d10f415$0$6944$ba620e4c@news.skynet.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-05!sn-xit-08!supernews.com!priapus.visi.com!news-out.visi.com!hermes.visi.com!skynet.be!skynet.be!louie!not-for-mail
References: <8a5Q8.40988$ud.5838@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,a85d722b17cd4bd6
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-06-19 14:15:16 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-05!sn-xit-08!supernews.com!priapus.visi.com!news-out.visi.com!hermes.visi.com!skynet.be!skynet.be!louie!not-for-mail
From: "Gunther" <warlock@nospamme@belgacom.net>
Newsgroups: be.comp.programming
References: <8a5Q8.40988$ud.5838@afrodite.telenet-ops.be>
Subject: Re: Paar vraagskes over java voor examen
Date: Wed, 19 Jun 2002 23:12:25 +0200
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Lines: 87
Message-ID: <3d10f415$0$6944$ba620e4c@news.skynet.be>
Organization: -= Skynet Usenet Service =-
NNTP-Posting-Host: 217.136.149.122
X-Trace: 1024521238 reader1.news.skynet.be 6944 217.136.149.122
X-Complaints-To: abuse@skynet.be