Toon posts:

[JAVA] array's?

Pagina: 1
Acties:
  • 319 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
hallo,

ik ben bezig met een projectje, nl een een studentenbestand bijhouden in java.
nu is m'n gehele layout gemaakt e.d. maar zit ik in de problemen met m'n arrays.

ik moet namelijk uit enkele tekstvakken de gegevens halen, en die in een array stoppen.
en er mogen maar max 30 ' personen ' in de array gestopt worden?
maar hoe haal ik in een andere klasse de gegevens uit m'n tekstvakken

ffkes schematisch voorstellen:

klasse persoon
klasse student ( die erft van persoon .. zoals naam, voornaam, postnummer e.d )
public class javaoef

in m'n class javaoef heb ik dus alles uit m'n tekstvak gehaald, en omgezet in een int
bv :

code:
1
2
tekstVak= tekstVak.getText();                   
a=Integer.parseInt(tekstVak);


maar nu moet ik in m'n klasse persoon die ' a ' eruit halen en in een array steken
hoe doe je dat juist?

ffkes m'n complete broncode geven ( zitten nog veel fouten in hoor, niet aan storen, wil gewoon m'n arrays aanmaken :'( )

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
/*
 * Alexander Vanwijnsberghe
 * Informatica
 * 2 GREM
 */

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.io.*;


// De Klasse Persoon 

class Persoon{

  protected String n, v, s, p, g; // alleen toegankelijk binnen deze klasse


public Persoon( String n, String v, String s, String p, String g){  

    this.n = n;
    this.v = v;
    this.s = s;
    this.p = p;
    this.g = g;
    
}
public String invoer_gegevens(){
    final int AANTAL = 30;
    Gegevens[] gegevensrij = new Gegevens[ AANTAL ];
return n;

}


}
 
// Einde Klasse Persoon
 
 
/* // De Klasse Student //

class Student extends Persoon{

  private String k, b; //// alleen toegankelijk binnen deze klasse


public Student(String k, String b ){ // constructor met 1 argument - het object ( ofwel de tak af de vrucht )

    super( n, v, s, p ,g );
    this.k = k;
    this.b = b;



}
}
 
 
// einde Klasse Student */
 



public class Ex extends Applet {
    Font serif;
    
    TextField naamVak, voornaamVak, klasVak, straatnrVak, postnummerVak, gemeenteVak, resultaatVak, 
    statusnieuweVak, naamzoekVak, postnummerzoekVak;
        
    Button nieuwestudent, toonnaam, toonpostnummer, toonalles;
    
    Label naamLabel, voornaamLabel, klasLabel, straatnrLabel, postnummerLabel, gemeenteLabel, 
    resultaatLabel, statusnieuweLabel;
    
    
    
    public void init() {
        
    serif = new Font( "Serif", Font.BOLD, 20 );
    
    setLayout( null );   // resetten van de layout coördinaten
    
    naamVak = new TextField( 40 );                                       // Tekstvak naam + label
    naamLabel = new Label ( "Naam");
    naamVak.setBounds( 20, 65, 80, 20 );
    naamLabel.setBounds( 35, 40, 100, 20 );
    naamVak.setEditable (true);
    
    voornaamVak = new TextField( 50 );                                   // Tekstvak voornaam + label
    voornaamLabel = new Label ( "Voornaam");
    voornaamVak.setBounds( 185, 65, 100, 20 );
    voornaamLabel.setBounds( 200, 40, 100, 20 );
    voornaamVak.setEditable (true);

    klasVak = new TextField( 40 );                                       // Tekstvak klas + label
    klasLabel = new Label ( "Klas");
    klasVak.setBounds( 365, 65, 80, 20 );
    klasLabel.setBounds( 385, 40, 100, 20 );
    klasVak.setEditable (true); 
        
    straatnrVak = new TextField( 40 );                                  // Tekstvak straat en nummer + label
    straatnrLabel = new Label ( "Straat + Nummer");
    straatnrVak.setBounds( 20, 125, 80, 20 );
    straatnrLabel.setBounds( 15, 100, 100, 20 );
    straatnrVak.setEditable (true); 

    postnummerVak = new TextField( 40 );                                // Tekstvak postnummer + label
    postnummerLabel = new Label ( "Postnummer");
    postnummerVak.setBounds( 185, 125, 100, 20 );
    postnummerLabel.setBounds( 196, 100, 100, 20 );
    straatnrVak.setEditable (true);
            
    gemeenteVak = new TextField( 40 );                                   // Tekstvak gemeente + label
    gemeenteLabel = new Label ( "Gemeente");
    gemeenteVak.setBounds( 365, 125, 80, 20 );
    gemeenteLabel.setBounds( 375, 100, 100, 20 );
    gemeenteVak.setEditable (true);
    
    resultaatVak = new TextField( 10 );                                 // Tekstvak behaald resultaat vorig jaar + label
    resultaatLabel = new Label ( "Behaald Resulaat Vorig Jaar");
    resultaatVak.setBounds( 195, 185, 50, 20 );
    resultaatLabel.setBounds( 153, 160, 200, 20 );
    resultaatVak.setEditable (true);
    
    statusnieuweVak = new TextField( 12 );                               // Status tekstvak met info + label
    statusnieuweVak.setBounds( 125, 260, 210, 20 );
    statusnieuweLabel = new Label ( "Status:");
    statusnieuweLabel.setBounds( 70, 260, 100, 20 );
    statusnieuweVak.setEditable (false);        
    
    nieuwestudent = new Button ("Nieuwe Student Toevoegen");            // Knop om een nieuwe student toe te voegen 
    nieuwestudent.setBounds( 125,230,210,20 );
    //nieuwestudent.addActionListener ( new toevoegHandler() ); 
    
    toonnaam = new Button ("Zoeken Op Naam");                           // Knop om student te zoeken op naam 
    toonnaam.setBounds( 20,300,130,20 );
    //toonnaam.addActionListener ( new toevoegHandler() );
    
    naamzoekVak = new TextField( 40 );
    naamzoekVak.setBounds( 20, 330, 130, 20 );
            
    toonpostnummer = new Button ("Zoeken Op Postnummer");                // Knop om student te zoeken op postnummer 
    toonpostnummer.setBounds( 275,300,150,20 );
    //toonpostnummer.addActionListener ( new toevoegHandler() );
    
    postnummerzoekVak = new TextField( 40 );
    postnummerzoekVak.setBounds( 275, 330, 150, 20 );
    
    toonalles = new Button ("Tonen alle gegevens van alle studenten");     // Knop om alle gegevens van iedereen te tonen 
    toonalles.setBounds( 100,377,250,20 );
    //toonpostnummer.addActionListener ( new toevoegHandler() );    
    
        
    add( naamVak );                                                      // Alle elementen weergeven
    add( naamLabel );
    add( voornaamVak );
    add( voornaamLabel );
    add( klasVak );
    add( klasLabel );
    add( straatnrVak );
    add( straatnrLabel );
    add( postnummerVak );
    add( postnummerLabel );
    add( gemeenteVak );
    add( gemeenteLabel );
    add( resultaatVak );
    add( resultaatLabel );
    add( nieuwestudent );
    add( statusnieuweVak );
    add( statusnieuweLabel );
    add( toonnaam );
    add( naamzoekVak );
    add( toonpostnummer );
    add( postnummerzoekVak );
    add( toonalles );
    
    
    
        
    }
    
    
    public void paint( Graphics g ) {
        g.drawString( "%", 250, 200 );
        g.setFont( serif );
        g.setColor( Color.red );
        g.drawString( " Studenten Archief STUDEX ", 133, 20 );
        g.drawLine( 125, 30, 380, 30 );
        
        g.drawLine( 10, 220, 455, 220 );
        g.drawLine( 10, 223, 455, 223 );
        
        g.drawLine( 10, 290, 455, 290 );
        g.drawLine( 10, 293, 455, 293 );
        
        g.drawLine( 210, 293, 210, 365 );
        g.drawLine( 213, 293, 213, 365 );
        
        g.drawLine( 10, 365, 455, 365 );
        g.drawLine( 10, 368, 455, 368 );
        
        g.setColor( Color.black );
        g.drawLine( 500, 10, 500, 415 );
        g.drawLine( 505, 10, 505, 415 );        
    }


} 


alvasst zeer vriendelijk bedankt
groetjes alexander

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

mmm, je wilt een int waarde in een array zetten?

code:
1
2
int[] waardes = new int[5];
waardes[0] = a;


en de rest van je verhaal kan ik niet volgen :D
Gegevens[] gegevensrij = new Gegevens[ AANTAL ];
Waar komt die class Gegevens vandaan?

O, ik vind je variabele namen niet echt leesbaar ;)


edit:

Ik denk dat ik het beter begrijp:

je kunt in je class javaoef
een method maken:
code:
1
2
3
4
public int getA()
{
   retrun a;
}


Maar in je class persoon heb je geen referentie naar javaoef.

Waar maak je een Object van Persoon aan?

[ Voor 32% gewijzigd door wasigh op 03-01-2005 18:11 ]


Verwijderd

Topicstarter
wasigh schreef op maandag 03 januari 2005 @ 18:06:


Waar komt die class Gegevens vandaan?

O, ik vind je variabele namen niet echt leesbaar ;)


edit:

Ik denk dat ik het beter begrijp:

je kunt in je class javaoef
een method maken:
code:
1
2
3
4
public int getA()
{
   retrun a;
}


Maar in je class persoon heb je geen referentie naar javaoef.

Waar maak je een Object van Persoon aan?
die klasse persoon heb ik zitten mee klooien, had in m'n boek iets gevonden van die class gegevens, dus dat is compleet verkeerd.

ik heb idd geen referentie in m'n class persoon naar javaoef, hoe moet ik dat dan doen?

alvast erg bedankt

Verwijderd

Topicstarter
nog eventjes anders stellen ( in het geval dat ik het niet goed uitleg :X )

ik wil in m'n klasse PERSOON een array aanmaken van 5 ints :
naam , voornaam, straat, postnummer en gemeente.

deze worden gehaald uit m'n tekstvakken die ik verwerkt heb m'n knophandler in m'n public class.

hoe doe ik dat juist?

m'n array moet dus bestaan uit
student 1 : bla , bla , bla , bla , bla
student 2 : bla2, bla2, bla2, bla2, bla2
...

iedere keer ik op de knop druk moet er dus een lijntje bijkomen in de array
thx!!

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Je hebt hier 2 views, neem ik aan, 1 met de invul velden, en met een lijst met gebruikers.
Nu maak je nog een controller, iets actionListener implementeert als je op het knopje duwt en de model's heb je ook al, namelijk Persoon/Student array met personen.

Nu tiep je in google model view controller en ga je aan de slag. :)

Verwijderd

Topicstarter
Gert schreef op maandag 03 januari 2005 @ 18:29:
Je hebt hier 2 views, neem ik aan, 1 met de invul velden, en met een lijst met gebruikers.
Nu maak je nog een controller, iets actionListener implementeert als je op het knopje duwt en de model's heb je ook al, namelijk Persoon/Student array met personen.

Nu tiep je in google model view controller en ga je aan de slag. :)
probleem is dat ik dat nie mag gebruiken ( aangezien dat leerstof is die we niet gezien hebben dit jaar )

alvast bedankt

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Algemene tip:
jij moet sourcecode kunnen lezen als een goed boek. Jouw code is dat niet. Dat heeft oa te maken met je ongelovelijk onduidelijke variable/veld/parameter namen. Neem hele woorden... voornaam, achternaam... geslacht leeftijd.. etc.. beter dan v, a , g, l.

[ Voor 22% gewijzigd door Alarmnummer op 03-01-2005 18:46 ]


Verwijderd

Topicstarter
Alarmnummer schreef op maandag 03 januari 2005 @ 18:45:
Algemene tip:
jij moet sourcecode kunnen lezen als een goed boek. Jouw code is dat niet. Dat heeft oa te maken met je ongelovelijk onduidelijke variable/veld/parameter namen. Neem hele woorden... voornaam, achternaam... geslacht leeftijd.. etc.. beter dan v, a , g, l.
ja dat is idd wel waar :X

protected String n, v, s, p, g;
wiln nl zeggen : naam, voornaam , straat, postnummer, gemeente :X

grtz

  • R4NCOR
  • Registratie: December 2000
  • Laatst online: 17-05 20:41

R4NCOR

eigenlijk gewoon Niels

Protected is trouwens toeganklijk voor de gehele package. Bedoel je niet gewoon private? :)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

R4NCOR schreef op maandag 03 januari 2005 @ 18:51:
Protected is trouwens toeganklijk voor de gehele package. Bedoel je niet gewoon private? :)
Hmmm.. nu noem je ook precies het addertje onder de gras.. Protected members zijn altijd toegankelijk in subclasses (logisch), maar protected members zijn ook toegankelijk vanuit de package (onlogisch!!). In java 1.0 zat geloof ik ook nog de private protected :X

trouwens.. protected members zijn badddddd.. Niet doen.. member -> private en gewoon protected getter/setter maken (als je alleen subclasses toegang wilt verlenen). Hierdoor hou je beter overzicht wie in je structuren loopt te klooien.

[ Voor 13% gewijzigd door Alarmnummer op 03-01-2005 19:02 ]


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

ok, je wilt dus een lijst van personen (max 30?) in je applet waarvan je alle data als int's opslaat correct?

Het principe is dan ongeveer zo:
- Maak een array van Personen aan in je Applet;
- Hou een teller bij van hoeveel personen je hebt toegevoegd

Voeg een nieuw Persoon toe:
- Maak een nieuw object van persoon aan.
- gebruik setters om de variabelen te setten

of:
- Geef alle waardes mee in de contstructor

Daarna voeg je de persoon toe aan de array, en verhoog de teller van het aantal personen dat je hebt toegevoegd.

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 12-05 15:26

Eelke Spaak

- Vlad -

Ik denk overigens dat je de waarde van je gegevens niet als int wil opslaan, maar gewoon als String. Een naam is immers niet zo duidelijk uit te drukken in int.

- 'Hoe heet je?'
- 4325
:)

TheStreme - Share anything with anyone


Verwijderd

Topicstarter
wasigh schreef op maandag 03 januari 2005 @ 19:45:
ok, je wilt dus een lijst van personen (max 30?) in je applet waarvan je alle data als int's opslaat correct?

Het principe is dan ongeveer zo:
- Maak een array van Personen aan in je Applet;
- Hou een teller bij van hoeveel personen je hebt toegevoegd

Voeg een nieuw Persoon toe:
- Maak een nieuw object van persoon aan.
- gebruik setters om de variabelen te setten

of:
- Geef alle waardes mee in de contstructor

Daarna voeg je de persoon toe aan de array, en verhoog de teller van het aantal personen dat je hebt toegevoegd.
jep idd , is zoiets dat ik wil realiseren, maar dan wel met strings.
khad in gedachten :

bij m'n knophandler zoiets:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class toevoegHandler implements ActionListener
    {
        public void actionPerformed (ActionEvent e)
        {

          String denaam, devoornaam, depostnummer, degemeente;
          Persoon n, v, p, g, alles;
          denaam= naamVak.getText();
          n = new Persoon (denaam);
          devoornaam= voornaamVak.getText();
          v = new Persoon (devoornaam);
         depostnummer= postnummerVak.getText();
         p = new Persoon (depostnummer);
         degemeente= gemeenteVak.getText();
         g = new Persoon (degemeente);
         alles = invoer_gegevens(n, v, p, g);
}
}


die ik dan uitwerk in m'n klasse Persoon

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
class Persoon{

  protected String n, v, p, g; // alleen toegankelijk binnen deze klasse


public Persoon( String n, String v, String p, String g){  

    this.n = n;
    this.v = v;
    this.p = p;
    this.g = g;
    
}


maar hier zit ik nu vast :( .. hoe steek in die variabelen n, v, p en g in een array gebruik maken van de functie invoer_gegevens() ?
en hoe kan ik die array tonen in m'n public class?
alvast vriendelijk bedankt

[ Voor 12% gewijzigd door Verwijderd op 04-01-2005 09:57 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik zie dat je nog steeds niet veel hebt aangetrokken van mijn advies met namen.

En waarom wil je het in een array plaatsen???

Als jij gewoon getters maakt op persoon (zoals het hoort) dan kan je zeggen:

Persoon kale = new Persoon(......);
System.out.println("voornaam: "+kale.getVoornaam());
System.out.println("achternaam: "+kale.getAchternaam());

En als jij het nodig vind om een array van 10 personen te maken:

Persoon[] personen = new Persoon[10];

voila... opslag capaciteit voor 10 personen.

aanspreken:

personen[1]=kale;
personen[2]=schele;
....

ophalen:

Persoon persoon = personen[6];

Verder kun je die array dan aan iedereen meegeven, want in die array staan alle personen.

[opmerking]
Die array is op dit moment goed genoeg voor jouw oplossing (en de fase waarin je je bevindt), maar ik gebruik zelf meestal dynamische arrays (list) of maps,sets en dat vaak nog een keer weggepropt onder een overkoepelend object. Maar vergeet maar wat ik nu heb gezegd ;)

[ Voor 57% gewijzigd door Alarmnummer op 04-01-2005 10:10 ]


Verwijderd

Topicstarter
Alarmnummer schreef op dinsdag 04 januari 2005 @ 10:04:
Ik zie dat je nog steeds niet veel hebt aangetrokken van mijn advies met namen.

En waarom wil je het in een array plaatsen???

Als jij gewoon getters maakt op persoon (zoals het hoort) dan kan je zeggen:

Persoon kale = new Persoon(......);
System.out.println("voornaam: "+kale.getVoornaam());
System.out.println("achternaam: "+kale.getAchternaam());

En als jij het nodig vind om een array van 10 personen te maken:

Persoon[] personen = new Persoon[10];

voila... opslag capaciteit voor 10 personen.

aanspreken:

personen[1]=kale;
personen[2]=schele;
....

ophalen:

Persoon persoon = personen[6];

Verder kun je die array dan aan iedereen meegeven, want in die array staan alle personen.

[opmerking]
Die array is op dit moment goed genoeg voor jouw oplossing (en de fase waarin je je bevindt), maar ik gebruik zelf meestal dynamische arrays (list) of maps,sets en dat vaak nog een keer weggepropt onder een overkoepelend object. Maar vergeet maar wat ik nu heb gezegd ;)
ivm die namen sorry :/ maar die worden zeker en vast nog aangepast hoor.
waarom ik het in array wil doen, simpelweg omdat onze javakennis nog nie uitgebreid genoeg is :X

Persoon[] personen = new Persoon[10];

deze stap begrijp ik, in mijn geval zou dit zijn

Persoon[] personen = new Persoon[30];

maar de array persoon zou moeten bestaan uit
( naam, voornaam, postnummer, gemeente ) ..
en in mijn termen ( met rare naamgeving :) )
( n , v , p ,g )

welke code moet ik gebruiken om die variabelen in die array te stoppen?

personen[1]=luc delange 8650 niemandsdorp;
personen[2]=bert decorte 8670 anderdorp;
etc..

hopelijk begrijp je het een beetje waar ik naar toe wil ? :|
alvast vriendelijk bedankt

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-05 11:04

Janoz

Moderator Devschuur®

!litemod

Je moet een nieuw persoon in die array stoppen. Een nieuw persoon aanmaken (= nieuw object aanmaken) doe je met new. Gelukkig heb je ook een constructor (die methode die hetzelfde heet als je class, zonder return type. Wordt gebruikt om een object aan te maken) die de verschillende gegevens als parameters accepteerd. Een nieuw persoon zou dan worden:

personen[1]=new Persoon("luc","delange","8650","niemadsdorp");

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op dinsdag 04 januari 2005 @ 10:21:
[...]


maar de array persoon zou moeten bestaan uit
( naam, voornaam, postnummer, gemeente ) ..
en in mijn termen ( met rare naamgeving :) )
( n , v , p ,g )
Jij wilt een persoon niet laten bestaan uit een array, dat moet een object zijn. En jij wit in jouw persoon array alleen maar personen hebben staan. Stel dat jij je persoon array niet uit personen zou laten bestaan, maar uit losse velden. Moet jij ten 1e op een hele onhandige manier elementen uit die array halen en verder krijg je problemen met het opslaan van velden van verschillende types. Hoe wou jij in 1 array String (voornaam), int (leeftijd), boolean (man/vrouw) opslaan?

Dus je moet van dat idee afstappen.. dat is fout en kan niet de bedoeling zijn van die opdracht. Maak dus een array van personen, en kan jij gewoon personen ophalen/setten mbv:

personen[10]=new Persoon(.....);
Persoon p = personen[4];
hopelijk begrijp je het een beetje waar ik naar toe wil ? :|
alvast vriendelijk bedankt
Ik begrijp heel goed waar jij heen wilt en ik zeg dat dat niet de goeie richting is. Jij moet denken in termen van objecten (Persoon in jouw geval) en niet in termen van losse velden. Dus volg jouw pad niet langer....

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Verwijderd schreef op dinsdag 04 januari 2005 @ 09:48:
[...]


bij m'n knophandler zoiets:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class toevoegHandler implements ActionListener
{
   public void actionPerformed (ActionEvent e)
   {
       String denaam, devoornaam, depostnummer, degemeente;
       Persoon n, v, p, g, alles;
       denaam= naamVak.getText();
       n = new Persoon (denaam);
       devoornaam= voornaamVak.getText();
       v = new Persoon (devoornaam);
       depostnummer= postnummerVak.getText();
       p = new Persoon (depostnummer);
       degemeente= gemeenteVak.getText();
       g = new Persoon (degemeente);
       alles = invoer_gegevens(n, v, p, g);
   }
}
Wat je hier doet is elke string apart in een Object proberen te stoppen. Als het goed is gaat dat niet compilen (aangezien je Persoon class geen constructor heeft die 1 string accepteerd)

Je Constructor ziet er zo uit:
code:
1
public Persoon( String n, String v, String p, String g){

die heeft dus 4 strings nodig.

Als we de code dan aanpassen naar:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class toevoegHandler implements ActionListener
{
   public void actionPerformed (ActionEvent e)
   {
      String deNaam, deVoornaam, dePostnummer, deGemeente;
       Persoon alles;

      deNaam= naamVak.getText();
      deVoornaam= voornaamVak.getText();
      dePostnummer= postnummerVak.getText();
      deGemeente= gemeenteVak.getText();
         
      alles = new Persoon(deNaam, deVoornaam, dePostnummer, deGemeente);
   }
}


Dan compiled het wel, en doet het wat je wil :)

(ik heb je var namen aangepast zoals je ziet) Nu maak je een Persoon via de constructor van Persoon met de waardes uit de textvelden . Deze persoon zit nu in de var alles.

Nu moet je nog zorgen dat die persoon in de array komt.

Stel je je een array hebt, en een var index;
code:
1
2
Personenen allePersonen = new Personen[30];
index = 0;


Dan kun je met:
code:
1
2
allePersonen[index] = alle;
index = index + 1;


of sneller nog:
code:
1
allePersonen[index++] = alle;


de Persoon alle aan de array toevoegen. :)

edit: typos

Verwijderd

Topicstarter
[b]wasigh schreef op dinsdag 04 januari 2005 @ 12:26

Als we de code dan aanpassen naar:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class toevoegHandler implements ActionListener
{
   public void actionPerformed (ActionEvent e)
   {
      String deNaam, deVoornaam, dePostnummer, deGemeente;
       Persoon alles;

      deNaam= naamVak.getText();
      deVoornaam= voornaamVak.getText();
      dePostnummer= postnummerVak.getText();
      deGemeente= gemeenteVak.getText();
         
      alles = new Persoon(deNaam, deVoornaam, dePostnummer, deGemeente);
   }
}


Dan compiled het wel, en doet het wat je wil :)
als ik dit dan compileer krijg ik als fout

C:\Documents and Settings\KhBo\Bureaublad\ex\Ex.java:167: cannot resolve symbol
symbol : constructor Persoon (java.lang.String,java.lang.String,java.lang.String,java.lang.String)
location: class Persoon
alles = new Persoon(deNaam, deVoornaam, dePostnummer, deGemeente);

wat zou deze fout kunnen zijn?

alvast bedankt hoor, je hebt me al een heel eind verder geholpen

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-05 11:04

Janoz

Moderator Devschuur®

!litemod

Komop zeg, compileer fouten moet je amkkelijk zelf kunnen vinden. Zoek de verschillen:
Java:
1
2
3
4
5
6
7
8
9
public Persoon( String n, String v, String s, String p, String g){  

    this.n = n;
    this.v = v;
    this.s = s;
    this.p = p;
    this.g = g;
    
} 

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Janoz schreef op dinsdag 04 januari 2005 @ 14:32:
Komop zeg, compileer fouten moet je amkkelijk zelf kunnen vinden. Zoek de verschillen:
Java:
1
2
3
4
5
6
7
8
9
public Persoon( String n, String v, String s, String p, String g){  

    this.n = n;
    this.v = v;
    this.s = s;
    this.p = p;
    this.g = g;
    
} 
sorry fout heb ik idd al zelf gevonden :X

Verwijderd

Topicstarter
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Persoon{

  protected String n, v, p, g, alles; // alleen toegankelijk binnen deze klasse
  private String[] allePersonen;
  private int INDEX = 0;

public Persoon ( String n, String v, String p, String g){  

    this.n = n;
    this.v = v;
    this.p = p;
    this.g = g;
    String alles = "n" + "v" + "p" + "g";
    
}
public void init() {
 
    allePersonen = new String[30];
    allePersonen[INDEX] = alles;
    INDEX = INDEX + 1;

}

}


nu heb ik dit bij m'n klasse persoon, en bij het compileren krijg ik geen fouten meer..
maar hoe kun je in je knophandler " toonalles " je array weergeven in je applet?

Java:
1
2
3
4
5
6
7
8
class toonallesHandler implements ActionListener 
{ 
   public void actionPerformed (ActionEvent e) 
   { 
     g.drawString( allePersonen[INDEX], 50, 50 );
  
   } 
}

had gedacht aan zoiets ? maar dit werkt niet ( mij kennende :X )

groetjes

[ Voor 5% gewijzigd door Verwijderd op 04-01-2005 15:07 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op dinsdag 04 januari 2005 @ 15:07:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Persoon{

  protected String n, v, p, g, alles; // alleen toegankelijk binnen deze klasse
  private String[] allePersonen;
  private int INDEX = 0;

public Persoon ( String n, String v, String p, String g){  

    this.n = n;
    this.v = v;
    this.p = p;
    this.g = g;
    String alles = "n" + "v" + "p" + "g";
    
}
public void init() {
 
    allePersonen = new String[30];
    allePersonen[INDEX] = alles;
    INDEX = INDEX + 1;

}

}


nu heb ik dit bij m'n klasse persoon, en bij het compileren krijg ik geen fouten meer..
maar hoe kun je in je knophandler " toonalles " je array weergeven in je applet?

Java:
1
2
3
4
5
6
7
8
class toonallesHandler implements ActionListener 
{ 
   public void actionPerformed (ActionEvent e) 
   { 
     g.drawString( allePersonen[INDEX], 50, 50 );
  
   } 
}

had gedacht aan zoiets ? maar dit werkt niet ( mij kennende :X )

groetjes
Kijk nou eens heel goed naar je code. Jouw persoon class heeft een array in zich waar personen in kunnen.

Maar stel dat jij nu 10 personen aanmaakt? Hoeveel arrays heb jij dan weer personen in kunnen? 10!! en jij wilt er maar 1.

Verwijderd

Topicstarter
Alarmnummer schreef op dinsdag 04 januari 2005 @ 15:14:
[...]


Kijk nou eens heel goed naar je code. Jouw persoon class heeft een array in zich waar personen in kunnen.

Maar stel dat jij nu 10 personen aanmaakt? Hoeveel arrays heb jij dan weer personen in kunnen? 10!! en jij wilt er maar 1.
idd .. ie zal bij mij dus iedere keer een nieuwe array aanmaken??
hoe los ik dat dan op ??

groetjes

Verwijderd

Verwijderd schreef op dinsdag 04 januari 2005 @ 15:30:
[...]


idd .. ie zal bij mij dus iedere keer een nieuwe array aanmaken??
hoe los ik dat dan op ??

groetjes
Het bijhouden van een array met Persoon objecten moet op 1 plek gebeuren, in je Applet waarschijnlijk. Daar wil je namelijk objecten toevoegen aan je array en die hele array printen. Door in de klasse Persoon een array bij te houden met die Persoon erin, hou je dus niet 1 array bij van Persoon objecten. Die array moet dus op een centrale plek staan. Mag ik je ook nog eens wijzen op wat wasigh zei. Het gaat voornamelijk om het laatste stuk waarin hij vertelt hoe je die algemene array moet aanmaken en bijhouden. Ik heb je net verteld waar je dit moet toepassen... hoe voorgekauwd wil je het krijgen ;)
wasigh schreef op dinsdag 04 januari 2005 @ 12:26:
[...]


Wat je hier doet is elke string apart in een Object proberen te stoppen. Als het goed is gaat dat niet compilen (aangezien je Persoon class geen constructor heeft die 1 string accepteerd)

Je Constructor ziet er zo uit:
code:
1
public Persoon( String n, String v, String p, String g){

die heeft dus 4 strings nodig.

Als we de code dan aanpassen naar:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class toevoegHandler implements ActionListener
{
   public void actionPerformed (ActionEvent e)
   {
      String deNaam, deVoornaam, dePostnummer, deGemeente;
       Persoon alles;

      deNaam= naamVak.getText();
      deVoornaam= voornaamVak.getText();
      dePostnummer= postnummerVak.getText();
      deGemeente= gemeenteVak.getText();
         
      alles = new Persoon(deNaam, deVoornaam, dePostnummer, deGemeente);
   }
}


Dan compiled het wel, en doet het wat je wil :)

(ik heb je var namen aangepast zoals je ziet) Nu maak je een Persoon via de constructor van Persoon met de waardes uit de textvelden . Deze persoon zit nu in de var alles.

Nu moet je nog zorgen dat die persoon in de array komt.

Stel je je een array hebt, en een var index;
code:
1
2
Personenen allePersonen = new Personen[30];
index = 0;


Dan kun je met:
code:
1
2
allePersonen[index] = alle;
index = index + 1;


of sneller nog:
code:
1
allePersonen[index++] = alle;


de Persoon alle aan de array toevoegen. :)

edit: typos

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Laten we even door je code heen lopen,

Maar voordat we dat doen:
In Java heb je Objecten waar je variabelen (data) in op kunt slaan, en die methode s hebben (data handling). Het voordeel daarvan is dat je dan met een abstract iets kunt werken bijvoorbeeld een "persoon" in plaats van een verzameling van 5 Strings. Dit concept van data abstractie is redelijk cruciaal om goed met Java te kunnen werken.
Verwijderd schreef op dinsdag 04 januari 2005 @ 15:07:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/* wasigh: Hier declareer je dus een class die je later in je code wilt gaan gebruiken
 Deze Class is dus de abstracte vorm van een verzameling van 4 Strings. Zeg maar een container om alles in te doen.

*/
class Persoon
{

  protected String n, v, p, g, alles; // alleen toegankelijk binnen deze klasse

/*
Deze class heeft niets aan een string[] en daardoor ook niets aan de index var
*/
//private String[] allePersonen;
//private int INDEX = 0;

public Persoon ( String n, String v, String p, String g){  

    this.n = n;
    this.v = v;
    this.p = p;
    this.g = g;
         // deze var heb je niet nodig
    //String alles = "n" + "v" + "p" + "g";
    
}

/*
Een applet heeft een methode init, die wordt aangeroepen door de AppletLoader of de browser. In een "normaal" Object wordt die niet opdezelfde manier als in een applet gebruikt.
*/ 
public void init() {
 
    allePersonen = new String[30];
    allePersonen[INDEX] = alles;
    INDEX = INDEX + 1;

}

}



Java:
1
2
3
4
5
6
7
8
9
10
11
class toonallesHandler implements ActionListener 
{ 
   public void actionPerformed (ActionEvent e) 
   { 
/*
Hier wil je een nieuwe instantie van een Persoon aanmaken en toevoegen aan je array. Hoe? zie mijn post hierboven
*/
       g.drawString( allePersonen[INDEX], 50, 50 );
  
   } 
}

[ Voor 6% gewijzigd door wasigh op 04-01-2005 21:27 ]


Verwijderd

wasigh schreef op dinsdag 04 januari 2005 @ 21:04:
Laten we even door je code heen lopen,

Maar voordat we dat doen:
In Java heb je Objecten waar je variabelen (data) in op kunt slaan, en die methode s hebben (data handling). Het voordeel daarvan is dat je dan met een abstract iets kunt werken bijvoorbeeld een "persoon" in plaats van een verzameling van 5 Strings. Dit concept van data abstractie is redelijk cruciaal om goed met Java te kunnen werken.


[...]
Je hebt nu de methode init() in de klasse Persoon staan, deze moet toch in de Applet staan.

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Verwijderd schreef op dinsdag 04 januari 2005 @ 23:28:
[...]


Je hebt nu de methode init() in de klasse Persoon staan, deze moet toch in de Applet staan.
Mag hoeft niet. De methode init() in de Applet wordt standaard aangeoepen door de AppletVieuwer (of Browser). En is dus 1 van de "speciale" methodes van een Applet.

Je mag natuurlijk ook een methode init() in je Persoon zetten maar die heeft daar geen "speciale" functie behalve dat het dan natuurlijk een methode is die je aan kunt roepen.

  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

Ik ben ook bezig met zoiets. Alleen heb ik ipv personen 'artikelen' in een krant.
ik maak alleen gebruik van arraylist ipv array.
In eerste instantie is dit dus 1d (geen matrix dus). Voeg een 2e arraylist in de arraylist en je kan er meerdere dingen in plaatsen. (de eerste is bij mij krantnaam de 2e een object artikelen).
voordeel van arraylist is dat de lijst variabel is en je hem dus kan uitbreiden. Nadeel is dan wel weer dat het wat langzamer is.

Java:
1
2
3
4
5
6
7
public static void main(String[] args)
    {
        MailingList Mailing = new MailingList(); // maken van een object
        //Mailing.nextKrant();
        Mailing.addKrant("charturaal");
        Mailing.addKrant("linotatie");
        System.out.println(Mailing.getKrant());

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class MailingList 
{
//http://java.sun.com/j2se/1.3/docs/api/index.html
    private ArrayList Krant = new ArrayList();
    private int KrantID;
    
    public String getKrant()
    {
        if (Krant.isEmpty() == false)
        {
            ArrayList T = (ArrayList)Krant.get(KrantID);
            return T.get(0).toString();
        }
        else
        {
            return null;
        }
    }
    public void addKrant(String NK)
    {
        Artikelen Artikel = new Artikelen();
        ArrayList T = new ArrayList();
        T.add(NK);
        T.add(Artikel);
        Krant.add(T);
    }

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Artikelen
{
    private int Index;
    private ArrayList Mail = new ArrayList();
    private ArrayList Titel = new ArrayList();
    private ArrayList ArtID = new ArrayList();
    public String getTitel()
    {
        if (Titel.isEmpty() == false)
        {
            return Titel.get(Index).toString();
        }
        else
        {
            return null;
        }
    }

[ Voor 61% gewijzigd door The Wrecker op 05-01-2005 09:54 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
The_Wrecker schreef op woensdag 05 januari 2005 @ 09:16:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Artikelen
{
    private int Index;
    private ArrayList Mail = new ArrayList();
    private ArrayList Titel = new ArrayList();
    private ArrayList ArtID = new ArrayList();
    public String getTitel()
    {
        if (Titel.isEmpty() == false)
        {
            return Titel.get(Index).toString();
        }
        else
        {
            return null;
        }
    }
Hoezo doe je dit zo. Lijkt mij nou niet echt handig. Je kan veel beter een class Artikel maken. Dan kan je meerdere artikelen altijd nog in een ArrayList stoppen of eventueel een eigen ArtikelArrayList maken waar dan weer alleen Artikelen in kunnen.

[ Voor 3% gewijzigd door Woy op 05-01-2005 09:39 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

@RWB
Zou kunnen inderdaad ja, maar ik heb in feite alleen artikelen in die arraylist (binnen de class Artikelen). Was voor mij nu eenmaal de meest makkelijke oplossing. Er zijn altijd meerdere artikelen namelijk. (en had geen zin in nog meer classes :P )

Ben de code ook een beetje aan het trouble shooten, werkt prima (bovenstaand is ook een klein gedeelte) De rest post ik niet aangezien het in een bedrijfs applicatie komt ;)

Ik begreep dat de topic starter met iets soortgelijks bezig was, vandaar dus dat ik bovenstaande poste. Misschien heeft hij er iets aan.

heb even [code=java ] toegevoegd

Nog een toevoeging: Als je arraylist wil gebruiken moet je wel wat importeren
Zet bovenaan je code :
import java.util.*;

Arraylist werkt wel wat irritanter vind ikzelf. Dus als je geen variabele array nodig hebt raad ik een gewone array aan, maar de structuur blijft verder hetzelfde.

[ Voor 29% gewijzigd door The Wrecker op 05-01-2005 10:04 ]


Verwijderd

Topicstarter
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* 
Deze class heeft niets aan een string[] en daardoor ook niets aan de index var 
*/ 
//private String[] allePersonen; 
//private int INDEX = 0; 

public Persoon ( String n, String v, String p, String g){   

    this.n = n; 
    this.v = v; 
    this.p = p; 
    this.g = g; 
         // deze var heb je niet nodig 
    //String alles = "n" + "v" + "p" + "g"; 
     
} 


als je die private String[] allePersonen en je INDEX weglaat herkent ie hieronder toch z'n allePersonen = new String[30]; niet??

Java:
1
2
3
4
5
6
7
8
9
10
11
12
/* 
Een applet heeft een methode init, die wordt aangeroepen door de AppletLoader of de browser. In een "normaal" Object wordt die niet opdezelfde manier als in een applet gebruikt. 
*/  
public void init() { 
  
    allePersonen = new String[30]; 
    allePersonen[INDEX] = alles; 
    INDEX = INDEX + 1; 

} 

}


hoe weet ie dan wat ' alles ' betekend?

groetjes en bedankt voor de hulp

  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

Staat alles niet ergens in de classe gedefineerd. Ik zet er vaak een System.out.println(); tussen om te kijken wat erin staat.
Java:
1
System.out.println(alles); bijvoorbeeld.

Alles compileert wel?

edit:

kan zijn dat ik de plank een beetje mis sla, snap weinig van de structuur hier.


Nog een toevoeging:

Uhm je compileert toch wel alle classes opnieuw he? Kan misschien zijn dat de compiler de 'oude' classe pakt. (delete de .class spullen eens voor de zekerheid en compileer opnieuw)

[ Voor 45% gewijzigd door The Wrecker op 05-01-2005 10:26 ]


Verwijderd

Topicstarter
zal ik ff proberen ..

bedankt!!

Verwijderd

Topicstarter
nu ben ik al een stukje verder

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class toevoegHandler implements ActionListener 
{ 
   public void actionPerformed (ActionEvent e) 
   { 
      String deNaam, deVoornaam, dePostnummer, deGemeente; 
      Persoon alles; 

      deNaam= naamVak.getText(); 
      deVoornaam= voornaamVak.getText(); 
      dePostnummer= postnummerVak.getText(); 
      deGemeente= gemeenteVak.getText();
        
      Persoon Persoonlijst = new Persoon(); // maken van een object 
      Persoonlijst.invoer_gegevens( deNaam + " " + deVoornaam + " " +dePostnummer); 
      System.out.println(Persoonlijst.toon_gegevens()); 
       
           
      //alles = new Persoon(deNaam, deVoornaam, dePostnummer, deGemeente);
  
   } 
}


als ik nu de gegevens invoer, en op de knop duw .. dan werkt het ..
alleen, ik zie de gegevens echter in het dos venster .. en niet in de applet zelf :X
werk wel niet in een applicatie, een java applet
hoe verander ik dit?
groetjes

  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

Dat ligt aan regel 15

System.out.println(Persoonlijst.toon_gegevens());

kom op dat snap je toch wel dat ie het op je console print?

Om het in een TextField te krijgen :
http://java.sun.com/j2se/...i/java/awt/TextField.html

void setText(String t)
Sets the text that is presented by this text component to be the specified text.

Uhm , betekent dus dat je bijvoorbeeld in

Textfield naam =new TextField();
naam.setText(hier je string of functie whatever);

ik heb wel het gevoel dat ik je huiswerk aan het maken ben nu. :O

[ Voor 23% gewijzigd door The Wrecker op 05-01-2005 10:55 ]


Verwijderd

Topicstarter
The_Wrecker schreef op woensdag 05 januari 2005 @ 10:48:
Dat ligt aan regel 15

System.out.println(Persoonlijst.toon_gegevens());

kom op dat snap je toch wel dat ie het op je console print?

Om het in een TextField te krijgen :
http://java.sun.com/j2se/...i/java/awt/TextField.html

void setText(String t)
Sets the text that is presented by this text component to be the specified text.

Uhm , betekent dus dat je bijvoorbeeld in

Textfield naam =new TextField();
naam.setText(hier je string of functie whatever);

ik heb wel het gevoel dat ik je huiswerk aan het maken ben nu. :O
jepjep .. dat weet ik hoor, en weet ook dat het aan die regel 15 ligt ;)
in een tekstvak zetten lukt ook hoor ..
maar wil het als string op m'n applet krijgen

sorry voor de verwarring :?

  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

??? wat krijg je dan????

ik edit deze post dalijk wel ff


OOoow bedoel je dat...
Uhm, ik weet niet of dat wel gaat eigenlijk. ik gebruik voornamelijk swing classes ipv. AWT

Je moet toch 'iets' hebben waar je gegevens heen stuurt. Ik denk eigenlijk aan een Label ofzo.

[ Voor 109% gewijzigd door The Wrecker op 05-01-2005 11:08 ]


Verwijderd

Topicstarter
ik zou graag ipv de gegevens in de console te printen ,deze in m'n applet printen ..
niet in een tekstvak ofzo .. gewoon als string?

g.drawString( Persoonlijst.toon_gegevens() );

iets in deze aard? maar die g. kan niet werken ..

groetjes

  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

Ik heb nog even gegoogled

http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Label.html < hoe je een label moet gebruiken
http://www.cpcug.org/user...avaExamples/LabelTest.htm < een voorbeeld

ps. ik moet even verder met me eigen werk.

[ Voor 12% gewijzigd door The Wrecker op 05-01-2005 11:14 ]


Verwijderd

Verwijderd schreef op woensdag 05 januari 2005 @ 11:03:
ik zou graag ipv de gegevens in de console te printen ,deze in m'n applet printen ..
niet in een tekstvak ofzo .. gewoon als string?

g.drawString( Persoonlijst.toon_gegevens() );

iets in deze aard? maar die g. kan niet werken ..

groetjes
Laat ik het nog 1 keer proberen uit te leggen :) De klasse Persoon is er alleen maar om gegevens te bundelen in 1 object. Je wilt in je hoofdklasse (je Applet) een array van dat soort objecten bij houden. Door in je hoofdklasse een array aan te maken:

Java:
1
2
3
4
5
6
7
8
9
10
public class JeApplet extends Applet {

    Persoon[] personen;

    public void init () {
    
        personen = new Persoon[30];
    }

} 


kan je die array aanspreken in elke methode van je hoofdklasse. Je kan objecten uit deze array tekenen door in de methode paint(Graphics g) objecten uit de array te halen, daar gegevens uit te halen en die te tekenen. De methode paint(Graphics g) wordt 1 keer aangeroepen bij het opstarten van de Applet en anders via de methode aanroep repaint();

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class JeApplet extends Applet {

    Persoon[] personen;

    public void init () {
    
        personen = new Persoon[30];
    }

    public void paint(Graphics g) {
    
        Persoon huidigePersoon = personen[1]; // mits er een Persoon in de array zit natuurlijk
        g.drawString(huidigePersoon.getName()); // mits er een methode getName() in de klasse persoon zit
    }

} 


Het is dus essentieel dat die array met Persoon objecten in je hoofdklasse wordt bijgehouden. Hopelijk is het zo allemaal wat duidelijker want we praten een beetje langs elkaar :)

Verwijderd

Topicstarter
The_Wrecker schreef op woensdag 05 januari 2005 @ 11:13:
Ik heb nog even gegoogled

http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Label.html < hoe je een label moet gebruiken
http://www.cpcug.org/user...avaExamples/LabelTest.htm < een voorbeeld

ps. ik moet even verder met me eigen werk.
label werkt idd .. bedankt hoor!!

veel succes met je eigen werk
groetjes

  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

Verwijderd schreef op woensdag 05 januari 2005 @ 11:18:
[...]

label werkt idd .. bedankt hoor!!

veel succes met je eigen werk
groetjes
Als je uiteraard een methode hebt is het beter/netter dat te gebruiken. zie goedlulfactor

Fijn dat het verder werkt :)

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

The_Wrecker schreef op woensdag 05 januari 2005 @ 09:16:


class MailingList
{
//http://java.sun.com/j2se/1.3/docs/api/index.html
private ArrayList Krant = new ArrayList();
private int KrantID;

public String getKrant()
{
if (Krant.isEmpty() == false)
{
ArrayList T = (ArrayList)Krant.get(KrantID);
return T.get(0).toString();
}
else
{
return null;
}
}
[/code]
even iets anders tussendoor: dit:
code:
1
Krant.isEmpty() == false

Is redelijk dubbelop. Een boolean is al true of false. Wat je daar doet is dus eigenlijk:
if (true == false ) en dat vindt ik persoonlijk niet echt netjes :)
veel duidelijker en netter is: (wmb dan he ;) )
code:
1
!Krant.isEmpty()

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
wasigh schreef op woensdag 05 januari 2005 @ 11:40:
[...]


even iets anders tussendoor: dit:
code:
1
Krant.isEmpty() == false

Is redelijk dubbelop. Een boolean is al true of false. Wat je daar doet is dus eigenlijk:
if (true == false ) en dat vindt ik persoonlijk niet echt netjes :)
veel duidelijker en netter is: (wmb dan he ;) )
code:
1
!Krant.isEmpty()
Dat is natuurlijk gewoon een kwestie van smaak. Ik zou zelf idd ook !Krant.isEmpty() gebruiken maar vindt dat nou niet een van de grootste fouten om het op die manier te doen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • whoami
  • Registratie: December 2000
  • Laatst online: 18:00
Ik ben het eens met rwb; het is gewoon kwestie van smaak.

De ene vind !krant.IsEmpty() duidelijker, de andere krant.IsEmpty() == false. Ikzelf vind de tweede manier duidelijker, je kijkt zo snel over dat ! heen.

https://fgheysels.github.io/


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Dat is natuurlijk gewoon een kwestie van smaak.
Ik ben het eens met rwb; het is gewoon kwestie van smaak.
* wasigh schreef:
vindt ik persoonlijk niet echt netjes :)
;)

[ Voor 71% gewijzigd door wasigh op 05-01-2005 12:01 . Reden: typos bij het leven... ]


  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

whoami schreef op woensdag 05 januari 2005 @ 11:51:
Ik ben het eens met rwb; het is gewoon kwestie van smaak.

De ene vind !krant.IsEmpty() duidelijker, de andere krant.IsEmpty() == false. Ikzelf vind de tweede manier duidelijker, je kijkt zo snel over dat ! heen.
Dacht al dat het op die manier kon! Verder niet over nagedacht ;) resultaat is hetzelfde idd.

je kan ook: if (krant.IsEmpty != true) :P
uitkomst blijft hetzelfde.

Scheelt het wel in performance? of maakt het niet uit. (denk dat het niet uitmaakt)

Ik denk wel als ik ga kijken naar hetgeen wat er gedaan word ik misschien beter het volgende had kunnen doen:

Java:
1
2
3
4
5
6
7
8
9
10
class bla bla
{
    public boolean waar()
    {
        if (krant.isEmpty() == true)
        {
            return false;
        }
    }
}


je kan dan zelfs de accolades weglaten...
maar ach :P

[ Voor 22% gewijzigd door The Wrecker op 05-01-2005 12:54 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
The_Wrecker schreef op woensdag 05 januari 2005 @ 12:46:
[...]


Dacht al dat het op die manier kon! Verder niet over nagedacht ;) resultaat is hetzelfde idd.

je kan ook: if (krant.IsEmpty != true) :P
uitkomst blijft hetzelfde.

Scheelt het wel in performance? of maakt het niet uit. (denk dat het niet uitmaakt)
Ik ga er vanuit dat de compiler er in alle gevallen hetzelfde van maakt.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

rwb schreef op woensdag 05 januari 2005 @ 12:48:
[...]

Ik ga er vanuit dat de compiler er in alle gevallen hetzelfde van maakt.
LOL, de bytecode zou je kunnen vergelijken :P

Denk alleen dat je er niet ver mee komt. Als de bytecode veranderd is weet je nog niet wat nu sneller is. Heb er ook geen zin in om dat na te gaan trekken ;)
Ik heb verderop in me code wel if(scroll) waarbij scroll een boolean uiteraard.

Conclusie:
ik hou het erop dat ieders programmeerstijl wel wat kan verschillen. Ik hou me ook niet altijd aan de hoofdletters enzo ;)
Ik weet het fout, maar ach het werkt er niet minder om. Als het maar leesbaar is.

edit:

Uh, nu ik zo verder bezig ben vind ik het wel een goeie tip. Vooral als je meerdere booleans hebt. Stukje makkelijker.

[ Voor 30% gewijzigd door The Wrecker op 05-01-2005 13:45 ]


Verwijderd

Topicstarter
na wat verderwerken dacht ik het gevonden te hebben .. nuja, geen compileerfouten enzo..
maar zit nu met een vervelende null exception fout op lijn 39 als ik op de toevoegknop druk ..
er zitten toch geen grote fouten in denk ik?
z'n naamRij[ nr ] en Snaam kent ie toch?

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// De Klasse Persoon 

class Persoon  
{ 
    private int AANTAL = 30;
    protected String[] naamRij, voornaamRij, straatRij, postnummerRij, gemeenteRij;

    
    public void init() {
    naamRij = new String[ AANTAL ];
    voornaamRij = new String[ AANTAL ];
    straatRij = new String[ AANTAL ];
    postnummerRij = new String[ AANTAL ];
    gemeenteRij = new String[ AANTAL ];
        
}

}

// De Klasse Student
class Student extends Persoon
{ 

 private int AANTAL = 30;
    private String[] klasRij, resultaatRij;  
    
    public void init() {
    klasRij = new String[ AANTAL ];
    resultaatRij = new String[ AANTAL ];
        
}
    public void invoer_gegevens(String Snaam, String Svoornaam, String Sstraat, String Spostnummer, String Sgemeente, 
    String Sklas, String Sresultaat) {
    
      
    for( int nr = 0; nr < AANTAL; nr++ )
{
              
        naamRij[ nr ] = Snaam;
        voornaamRij[ nr ] = Svoornaam;
        straatRij[ nr ] = Sstraat;
        postnummerRij[ nr ] = Spostnummer;
        gemeenteRij[ nr ] = Sgemeente;
        klasRij[ nr ] = Sklas;
        resultaatRij[ nr ] = Sresultaat;
         
    }
 }    
    
    
}


en m'n knophandler

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class toevoegHandler implements ActionListener 
{ 
   public void actionPerformed (ActionEvent e) 
   { 
      String deNaam, deVoornaam, dePostnummer, deGemeente, deStraat, deKlas, deResultaat; 

      deNaam= naamVak.getText(); 
      deVoornaam= voornaamVak.getText(); 
      dePostnummer= postnummerVak.getText(); 
      deStraat = straatnrVak.getText();
      deGemeente= gemeenteVak.getText();
      deKlas = klasVak.getText();
      deResultaat = resultaatVak.getText();
          
      Student Studentenlijst = new Student();
      Studentenlijst.invoer_gegevens( deNaam, deVoornaam, deStraat, dePostnummer, deGemeente, deKlas, deResultaat );
      
      naamVak.setText ( "" );
      voornaamVak.setText ( "" );
      klasVak.setText( "" );
      straatnrVak.setText( "" );
      postnummerVak.setText( "" );
      gemeenteVak.setText( "" );
      resultaatVak.setText( "" );
      statusnieuweVak.setText( " Nieuwe Student Toegevoegd " );
           
   } 
}


alvast bedankt

[ Voor 7% gewijzigd door Verwijderd op 05-01-2005 14:02 ]


  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 17-05 11:36
Het blijft gewoon ontzettend dubbelop.
Ik heb zelf in mijn eerste cursusjaar een module discrete wiskunde gehad (proposities, predikaten, verzamelingen etc.) en ik ben dus gewend om degelijke expressies zo compact mogelijk op te schrijven. Het is ook wel zo netjes vind ik.
Wanneer ik een dergelijk constructie tegenkom, komt dit niet op mij over als een bewuste keuze, maar als een gebrek aan logisch inzicht, hoewel dat helemaal niet zo hoeft te zijn natuurlijk.


Edit: Dit sloeg dus op het if(true==true) verhaal...

[ Voor 8% gewijzigd door Kwistnix op 05-01-2005 14:31 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op woensdag 05 januari 2005 @ 13:51:
na wat verderwerken dacht ik het gevonden te hebben .. nuja, geen compileerfouten enzo..
maar zit nu met een vervelende null exception fout als ik op de toevoegknop druk ..
er zitten toch geen grote fouten in denk ik?

en nog een hele lap code.
Je mag zelf ook wel een keer even debuggen hoor. Een NullPointerException is niet zo heel moeilijk op te lossen in dit geval. En wij hebben onze glazen bol ook niet bij ons.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
dus:

ik druk op de knop, alles wordt uit de tekstvakken gehaald en naar de klasse student gestuurd.
Java:
1
2
     Student Studentenlijst = new Student();
      Studentenlijst.invoer_gegevens(deNaam, deVoornaam, deStraat, dePostnummer, deGemeente, deKlas, deResultaat );


in de klasse worden die waarden opgevangen en in hun desbetreffende array stopt
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    public void invoer_gegevens(String Snaam, String Svoornaam, String Sstraat, String Spostnummer, String Sgemeente, 
    String Sklas, String Sresultaat) {
    for( int nr = 0; nr < AANTAL; nr++ ){
              
        naamRij[ nr ] = Snaam;
        voornaamRij[ nr ] = Svoornaam;
        straatRij[ nr ] = Sstraat;
        postnummerRij[ nr ] = Spostnummer;
        gemeenteRij[nr ] = Sgemeente;
        klasRij[ nr ] = Sklas;
        resultaatRij[ nr ] = Sresultaat;
         
    }
}


let wel, ik vul weldegelijk overal in m'n vakken iets in ..
waar zit ik mis met m'n denkpiste?

grtz

[ Voor 3% gewijzigd door Verwijderd op 05-01-2005 14:18 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-05 11:04

Janoz

Moderator Devschuur®

!litemod

Wat jij daar doet is dat je AANTAL keer de waardes toevoegd op positie 0.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

Janoz schreef op woensdag 05 januari 2005 @ 14:15:
Wat jij daar doet is dat je AANTAL keer de waardes toevoegd op positie 0.
vandaar ook nullpointer exception ;)

Je kan ook eens kijken of je lijst (array) niet leeg is en of je nergens door nul deelt ofzo (dat lijkt me niet).

alhoewel ik denk dat je dan een out of bounds zou moeten krijgen.

toevoeging:

Volgens mij doet die for loop daar echt totaal niets. Wil je de hele lijst hetzelfde hebben ofzo?

[ Voor 13% gewijzigd door The Wrecker op 05-01-2005 14:23 ]


  • Macros
  • Registratie: Februari 2000
  • Laatst online: 30-04 09:28

Macros

I'm watching...

[nonconstructieve opmerking]
Wat een crap zooi zeg.
[/nonconstructieve opmerking]

"Beauty is the ultimate defence against complexity." David Gelernter


Verwijderd

Topicstarter
The_Wrecker schreef op woensdag 05 januari 2005 @ 14:20:
[...]


vandaar ook nullpointer exception ;)

Je kan ook eens kijken of je lijst (array) niet leeg is en of je nergens door nul deelt ofzo (dat lijkt me niet).

alhoewel ik denk dat je dan een out of bounds zou moeten krijgen.
Java:
1
2
3
4
5
6
7
8
9
    for( int nr = 0; nr < AANTAL; nr++ ){ 
               
        naamRij[ nr ] = Snaam; 
        voornaamRij[ nr ] = Svoornaam; 
        straatRij[ nr ] = Sstraat; 
        postnummerRij[ nr ] = Spostnummer; 
        gemeenteRij[nr ] = Sgemeente; 
        klasRij[ nr ] = Sklas; 
        resultaatRij[ nr ] = Sresultaat; 


dit wil toch zeggen beginnen met 0,en zoalang het aantal kleiner is dan AANTAL iedere keer eentje bijvoegen?
grtz

  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

Ja klopt maak er eens AANTAL +1 van en probeer het nog 's

ik ben ff koffie halen ook ;)

[ Voor 27% gewijzigd door The Wrecker op 05-01-2005 14:25 ]


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Beste Qualistor,

Je gaat in je code _helemaal_ voorbij aan Object Georienteerd Programmeren dit is puur procedureel programmeren met het enige verschil dat je de bepaalde variabelen in een apart Object zet.

Wat jij wilt:
Je wilt een Object persoon die van 1 persoon de voornaam, achternaam etc bijhoudt.

Daarnaast wil je een verzameling van deze Persoobn objecten. Als je dan mijn posts bij elkaar opgeteld kom je zo ongeveer op de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// De Klasse Persoon 

public class Persoon  
{ 
   
   String naam, voornaam, straat, postnummer, gemeente;

   public Persoon(String naam, String voornaam, String straat, String postnummer, String gemeente)
   {
       this.naam = naam;
       this.voornaam = voornaam;
       //etc
   }
        
}

}

// De Applet
class myApplet extends Applet
{ 

    private int AANTAL = 30;
    private int index = 0;    
    private Persoon allePersonen; 
    
    public void init() 
    {
       allePersonen = new Persoon[AANTAL];
    }
    public void invoer_gegevens(String Snaam, String Svoornaam, String Sstraat, String Spostnummer, String Sgemeente, 
    String Sklas, String Sresultaat) 
    {
       if (index < AANTAL)
      {
          allePersonen[index] = new Persoon(Snaam, Svoornaam, Sstraat, sPostnummer, Sgemeente);
      }
    }   
    
    
}


tip: Leen bij de bieb een goed beginners java boek: "java voor studenten" bijvoorbeeld

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-05 11:04

Janoz

Moderator Devschuur®

!litemod

Nee, dat wil dat niet zeggen. Dat complete methode voegt zodra deze wat binnen krijgt op alle posities in de arrays die binnengekregen waarden in.

Is het niet een idee om dit maar gewoon eens helemaal aan de kant te zetten en eens te beginnen met iets simpelers? Volgens mij ben je zelf al lang de draad kwijt waar je nu eigenlijk al mee bezig bent.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

The_Wrecker schreef op woensdag 05 januari 2005 @ 14:20:
[...]


vandaar ook nullpointer exception ;)

Je kan ook eens kijken of je lijst (array) niet leeg is en of je nergens door nul deelt ofzo (dat lijkt me niet).

alhoewel ik denk dat je dan een out of bounds zou moeten krijgen.

toevoeging:

Volgens mij doet die for loop daar echt totaal niets. Wil je de hele lijst hetzelfde hebben ofzo?
Lege Array zou idd een ArrayIndexOutOfBoundsException geven. Een deling door 0 geeft een ArithmeticException: Division by zero :)

Verwijderd

Topicstarter
Janoz schreef op woensdag 05 januari 2005 @ 14:35:
Nee, dat wil dat niet zeggen. Dat complete methode voegt zodra deze wat binnen krijgt op alle posities in de arrays die binnengekregen waarden in.

Is het niet een idee om dit maar gewoon eens helemaal aan de kant te zetten en eens te beginnen met iets simpelers? Volgens mij ben je zelf al lang de draad kwijt waar je nu eigenlijk al mee bezig bent.
ben idd de draad compleet kwijt ..
die arrays blijk ik echt niet te snappen.

deze opdracht gaat boven m'n petje .. :'(
nuja .. zal beter indienen wat ik heb .. krijg mss nog iets voor inzet, who knows

groetjes, en allemaal bedankt
I appreciate it!!

  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

code:
1
2
3
4
5
6
7
8
9
10
11
12
public void invoer_gegevens(String Snaam, String Svoornaam, String Sstraat, String Spostnummer, String Sgemeente,  
    String Sklas, String Sresultaat) { 
        int nr = 0;           
        naamRij[ nr ] = Snaam; 
        voornaamRij[ nr ] = Svoornaam; 
        straatRij[ nr ] = Sstraat; 
        postnummerRij[ nr ] = Spostnummer; 
        gemeenteRij[nr ] = Sgemeente; 
        klasRij[ nr ] = Sklas; 
        resultaatRij[ nr ] = Sresultaat; 
     
}


ik heb die for loop er eens uitgesloopt. ik weet niet wat je daarmee wil. je overschrijft namelijk alle array's met dezelfde gegevens.

verder ga ik met *wasigh mee


een array is een lijst met gegevens

dus

eenlijst[0] bevat een waarde
eenlijst[1] bevat een waarde
eenlijst[2] bevat een waarde
tot de 30 bij jouw

die String's binnen je methode invoer_gegevens hebben maar 1 waarde in de hele methode en veranderen dus niet!

Raad je dus ook aan om je er wat meer in te verdiepen. Leer ook de documentatie van sun te gebruiken.

[ Voor 25% gewijzigd door The Wrecker op 05-01-2005 14:58 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
wasigh schreef op woensdag 05 januari 2005 @ 14:34:
code:
1
private Persoon allePersonen;
Maak daar wel even
Java:
1
private Persoon[] allePersonen;

van. Anders snapt hij het denk nog steeds niet aangezie hij nog steeds het idee van een Array van Personen niet snapt.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
heb er idd eens die loop uit gehaald en gezet

Java:
1
2
3
4
5
6
7
8
9
        int TELLER = 0;
        naamRij[ TELLER ] = Snaam; 
        voornaamRij[ TELLER ] = Svoornaam; 
        straatRij[ TELLER ] = Sstraat; 
        postnummerRij[ TELLER ] = Spostnummer; 
        gemeenteRij[ TELLER ] = Sgemeente; 
        klasRij[ TELLER ] = Sklas; 
        resultaatRij[ TELLER ] = Sresultaat; 
        TELLER++;


maar toch blijft die null exception error?
z'n array naamRij is aangemaakt, TELLER is bekend, en Snaam is uit uit z'n knophandler gehaald ..?

[ Voor 3% gewijzigd door Verwijderd op 05-01-2005 15:27 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op woensdag 05 januari 2005 @ 15:24:
heb er idd eens die loop uit gehaald en gezet

Java:
1
2
3
4
5
6
7
8
9
        int TELLER = 0;
        naamRij[ TELLER ] = Snaam; 
        voornaamRij[ TELLER ] = Svoornaam; 
        straatRij[ TELLER ] = Sstraat; 
        postnummerRij[ TELLER ] = Spostnummer; 
        gemeenteRij[ TELLER ] = Sgemeente; 
        klasRij[ TELLER ] = Sklas; 
        resultaatRij[ TELLER ] = Sresultaat; 
        TELLER++;


maar toch blijft die null exception error?
z'n array naamRij is aangemaakt, TELLER is bekend, en Snaam is uit uit z'n knophandler gehaald ..?
Hoezo maak je een array naamRij aan? Dit moet je echt niet doen. Je moet een Array van Persoon objecten maken. Een persoon heeft daarna een property Naam die je via een getNaam methode op kunt halen en eventueel via een setNaam kan zetten. Bij het aanmaken van een persoon geef je de naam mee aan de constructor. Voor de rest van de gegevens van een persoon dito

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

ik heb even wat gefrutselt en het kan niet helemaal kloppen, maar dit is het idee:

Java:
1
2
3
4
5
Object[] Allemaalpersonen  = new object[30];
Persoon persoon = new persoon();
persoon.naam="jan"; 
//of je maakt een methode ofzo .naam refereert naar een string binnen de classe Persoon
Allemaalpersonen[0] = persoon;


Java:
1
2
3
4
5
6
7
8
9
10
classe Persoon
{
public String naam;
public String adres;
public String telefoonnummer;
public void add(String n);
{
naam = n;
}
}

[ Voor 5% gewijzigd door The Wrecker op 05-01-2005 15:59 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
The_Wrecker schreef op woensdag 05 januari 2005 @ 15:58:
ik heb even wat gefrutselt en het kan niet helemaal kloppen, maar dit is het idee:

Java:
1
2
3
4
Object[] Allemaalpersonen  = new object[30];
Persoon persoon = new persoon();
persoon.naam="jan"; //of je maakt een methode ofzo .naam refereert naar een string binnen de classe Persoon
Allemaalpersonen[0] = persoon;


[code=java]
classe persoon
{
public String naam;
public String adres;
public String telefoonnummer;
public void add(String n);
{
naam = n;
}


}
Hoezo

Java:
1
Object[] Allemaalpersonen  = new object[30];

???

doe dan zo iets ( Even met wat minder properties want anders wordt het zo veel typen. )

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
public class Persoon
{
    private String naam;
    private String adres;

    public Persoon( String naam, String adres )
    {
        this.naam = naam;
        this.adres = adres;
    }

    public String getNaam()
    {
        return naam;
    }

    public void setNaam( string naam )
    {
        this.naam = naam;
    }

    public String getAdres()
    {
        return adres;
    }

    public void setAdres()
    {
        this.adres = adres;
    }
}

public class PersoonApplet extends Applet implements ActionListener
{
    private final int AANTAL = 30;
    private Persoon[] personen;
    private int index = 0;
    
    public PersoonApplet()
    {
        personen = new Persoon[ AANTAL ];
    }

    public void actionPerformed( ActionEvent e )
    {
        if( index >= AANTAL )
        {
            //je hebt al 30 studenten
            //doe daar wat mee
        }
        String naam;
        String adres;

        naam= naamVak.getText();  
        adres = adresVak.getText();

        Persoon persoon = new Persoon( naam, adres );

        personen[ index ] = persoon;

        index++; //index verhogen zodat de volgende persoon op de volgende index gezet wordt.
    }
}


ff uit mijn hoofd dus type fouten voorbehouden.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

Java:
1
2
3
4
5
public class PersoonApplet extends Applet implements ActionListener 
{ 
    private final int AANTAL = 30; 
>>    private Persoon[] personen; 
    private int index = 0; 


achja tuurlijk. Ik word suf. Ben de hele tijd al bezig en begin dus domme fouten te maken. (Zit op me werk)

Verwijderd

Topicstarter
ik zal het eens bekijken :)
bedankt

[ Voor 99% gewijzigd door Verwijderd op 05-01-2005 16:15 ]


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

maar koop iig een goed boek :). Objecten zijn mooit en arrays zijn goed (en andersom)
en als je verder wilt met Java is een goed boek nooit weg :)

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
wasigh schreef op woensdag 05 januari 2005 @ 16:48:
maar koop iig een goed boek :). Objecten zijn mooit en arrays zijn goed (en andersom)
en als je verder wilt met Java is een goed boek nooit weg :)
Iets zegt me dat het een opdracht voor school is dus dan zal het ook wel uit een boek komen ;). Maar dat zegt natuurlijk nog niet dat het een goed boek is. Maar toch lees dat nog eens uitgebreid door.
Verwijderd schreef op maandag 03 januari 2005 @ 17:54:
Java:
1
2
3
4
5
/*
 * Alexander Vanwijnsberghe
 * Informatica
 * 2 GREM
 */

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
komt idd uit een boek .. " en dan is er java " ..
iemand die dat boek kent?

enige nadeel in het boek is dat ze zeggen dat er uitzondering zijn
( bv de arrays zijn alleen uitgelegd zonder eigen klasse's )

btw .. het is me al gelukt om de gegevens toe te voegen in de array hoor ;)

bedankt daarvoor
groetjes

btw, 2GREM wil zeggen 2de hoger onderwijs graduaat Elektro-Mechanica :)

Verwijderd

Topicstarter
ben er geraakt, dankzij jullie hulp ;)

ps: bestaat er een functie die een array zichtbaar maak dmv graphics g?

Java:
1
2
3
4
5
6
public void paint( Graphics g ) {
        
        if( !isTonen ) {
            
            g.drawString( studenten[ 0 ], 100, 100);
        }


heb als voorbeeld studenten[ 0 ] genomen, moet natuurlijk nog een forlus aan
das met m'n boolean gemaakt, maar g.drawString geeft een fout bij het compileren?
bestaat er een ander functie daarvoor?
in m'n boek staat daar nl niets over

thx

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op woensdag 05 januari 2005 @ 17:10:
komt idd uit een boek .. " en dan is er java " ..
iemand die dat boek kent?

enige nadeel in het boek is dat ze zeggen dat er uitzondering zijn
( bv de arrays zijn alleen uitgelegd zonder eigen klasse's )

btw .. het is me al gelukt om de gegevens toe te voegen in de array hoor ;)

bedankt daarvoor
groetjes

btw, 2GREM wil zeggen 2de hoger onderwijs graduaat Elektro-Mechanica :)
Dat is toch het boek van Gertjan laan ofzo? Dat heb ik ook op school gehad en dat vond ik eigenlijk een verschrikkelijk slecht boek.

Maar heb het dan eigenlijk ook niet echt veel gebruikt.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
jep dat is idd dat boek.
ben ik ook niet echt tevreden van, de basis enzo staat er wel in .. maar details bespreken ze niet

grtz

Verwijderd

Verwijderd schreef op woensdag 05 januari 2005 @ 18:47:
ben er geraakt, dankzij jullie hulp ;)

ps: bestaat er een functie die een array zichtbaar maak dmv graphics g?

Java:
1
2
3
4
5
6
public void paint( Graphics g ) {
        
        if( !isTonen ) {
            
            g.drawString( studenten[ 0 ], 100, 100);
        }


heb als voorbeeld studenten[ 0 ] genomen, moet natuurlijk nog een forlus aan
das met m'n boolean gemaakt, maar g.drawString geeft een fout bij het compileren?
bestaat er een ander functie daarvoor?
in m'n boek staat daar nl niets over

thx
Mensen, die foutmeldingen zijn er niet voor niks! Als je eens goed kijkt dan zie je dat het een fout is mbt types. Er zal wel iets staan van dat er geen drawString is waarbij het 1e argument een Student is. Wat wil drawString dan nog hebben... we hebben een positie nodig en een .... String (8> Het lijkt er meer op dat je nu alles wat je niet begrijpt direct hier gaat vragen. Bijna al je vragen zijn basic dingen. Mag ik je adviseren eerst eens een goed boek over Java te lezen ;)

[ Voor 3% gewijzigd door Verwijderd op 05-01-2005 19:38 ]


  • The Wrecker
  • Registratie: Juli 2002
  • Laatst online: 17-05 14:05

The Wrecker

Networking Rulez

studenten[ 0 ] geeft een object en geen string

Als je een methode hebt binnen het object die de naam als string geeft bijv. getnaam() ofzo kan je dit proberen.

studenten[0].getnaam();

:(
Java gaat ineens moeizaam bij mij. zit ook met me verkeerstheorie in me maag(aanstaande maandag). Heb te veel lopen kloten met java agent en andere classes binnen lotus notes.

[ Voor 33% gewijzigd door The Wrecker op 05-01-2005 21:53 ]


  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 10-05 16:41

Nick_S

++?????++ Out of Cheese Error

Misschien een handige tip: Neem een goede IDE die 'spel'fouten er alvast uithaalt. (Hiermee doel ik dus op verkeerde Objecten op de verkeerde plaats, bepaalde type excepties, compileerfouten dus)

Veel van de vragen die je hier stelt worden hier al automatisch mee gemaakt. Type checking, exceptions checking, for loopjes, noem maar op. Het houd ook je klasseoverzicht wat overzichtelijker, genereert getters en setters. Ik heb op school ook leren programmeren met behulp van een texteditor, maar als je eenmaal met een IDE gewerkt hebt, wil je niet anders meer!

[spam-modus]
Kijk eens op www.eclipse.org voor een goeie IDE.
[/spammodus]

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'


Verwijderd

Topicstarter
hallo,

ben tot een stuk in de nacht bezig geweest met die java, en kben er geraakt, alles werkt zodat het zou moeten werken, bedankt voor alle steun!

had nog een klein vraagje. nu staat er in m'n klasse

Java:
1
2
3
public Student(String naam, String voornaam, String straat, String postnummer, String Semeente , String klas, String resultaat) {
this.naam = naam 
...


maar als ik daar nu dit bijzet ( omdat ik iets zou willen proberen met overerven )

Java:
1
2
3
4
public void setAlles( String naam, String voornaam, String straat, String postnummer, String Semeente , String klas, String resultaat )
   { 
   
    this.naam = naam;


ik maak dus een public void aan met setAlles.
hoe roep ik dat dan op in m'n knophandler?
nu staat er

Java:
1
2
3
4
5
6
Student student = new Student( deNaam, deVoornaam, deStraat, dePostnummer, deGemeente, deKlas, deResultaat ); 

      studenten[ index ] = student;


      index++;


die new Student( .... ) hoe kun je dat dan doen met die public void toonAlles die ik aangemaakt heb?

nog eens bedankt voor de nodige uitleg, GT is me al een grote hulp geweest
groetjes

  • whoami
  • Registratie: December 2000
  • Laatst online: 18:00
Hmm, ik denk dat je toch best eens een boek erbij neemt hoor. Als je alles goed wilt leren, is dat toch echt iets dat je nodig hebt, en je zult ook veel vlugger leren.
Een forum is nu ook niet bedoeld om je bij het handje te nemen, en je alles diets te maken.

Over dat overerven: probeer eerst te gaan, voordat je leert lopen.

https://fgheysels.github.io/


Verwijderd

Topicstarter
overerven vind ik persoon veel makkelijker dan arrays :X

maja, zal wel aan het boek liggen dat ik gebruik zeker :)

toch bedankt..

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

De method setAlles() is een object methode. Je roept die methode aan op een Object van het type Student en daarvoor heb je dus een Object nodig.

bijvoorbeeld:
Java:
1
2
Student eenStudent = new Student (  .....   );
eenStudent.setAlles( .....  );

Verwijderd

Topicstarter
ok bedankt!!

dat werk idd ..
en ivm dat overerven is het ook gelukt

heb een klasse persoon met basisgegevens,
en een klasse student met ng eens ' klas, resultaat ' extra erbij,
en dit alles werkt :)

groetjes

Verwijderd

Topicstarter
hallo,

nog een laatste vraagje,
ik zou graag iets zoeken in een array, bv naam , en als die gevonden is moet ie alle gegevens van die persoon tonen.

nu heb reed goed gezocht op google enzo ( heb dus weldegelijk gezocht voor ik dit poste ;) )
en heb ik dit voorbeeld gevonden :
Java:
1
2
3
4
5
6
7
8
9
public int zoeken (int[ ] array, int X) {
int i = 0;
while ( i < array.length ) {
if ( X == array[i] ) // bingo
return i;
i++;
} // while
return -1; // X niet gevonden
} // zoeken


nu heb ik dat toegepast op mijn knophandler

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class postzoekHandler implements ActionListener 
{ 
   public void actionPerformed (ActionEvent e) 
   { 
      String postzoek;
      
      postzoek = postnummerzoekVak.getText();
      
      int i = 0;
      while ( i < index ) {
        if( postzoek == studenten[ i ].getPostnummer() )
      { 
      zoekgegevensLabel.setText( studenten[ i ].toon_gegevens()  );
    }
            i++;
      
    }
   }   
 } 

maar het lukt me maar niet om de gegevens in dat label te krijgen ? :X
bv als ik bij studenten[4] het postnummer 8888 ingeef en ik haal studenten[4] op, staat er weldegelijk 8888 in de array, ook als ik de tekst uit m'n vak haal als ik zoek op 8888.

zit er dan een fout in m'n while ofzo?

ziezo dat was m'n laatste vraagje,
vriendelijk bedankt hoor

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Wat geeft de methode toon_gegevens() terug?

Verwijderd

Topicstarter
gie geeft alle gegevens terug achter elkaar
en dit werkt weldegelijk ook

groetjes

  • BHR
  • Registratie: Februari 2002
  • Laatst online: 12:20

BHR

Je wilt 2 String's vergelijken, ipv nummers:
http://java.sun.com/j2se/...#equals(java.lang.Object)

[ Voor 16% gewijzigd door BHR op 06-01-2005 14:48 ]

No amount of key presses will shut off the Random Bug Generator


Verwijderd

Topicstarter
dat was het idd .. das iets dat ik niet wist, thx!!

het moet dus zijn :

Java:
1
    if( naamzoek.equals(studenten[ i ].getNaam() ) )


thx aan iedereen die me geholpen heeft !!

vriendelijke groetjes
Pagina: 1