Messenga | zaterdag 14 oktober 2006 @ 15:45 |
Game on.
Laatste post : quote:Op zaterdag 14 oktober 2006 15:44 schreef Messenga het volgende:Het doet het toch echt.  Cijfers staat al eerder gedeclareerd, helemaal in de bovenste class. public class Applet1 extends Applet { private int AANTAL = 10; private int[]cijfers = new int [AANTAL]; Vorige topic [Java] voor dummies - Deel 1 |
#ANONIEM | zaterdag 14 oktober 2006 @ 15:57 |
Maar welke getallen plaats je in die array ? Ik zie dat nergens namelijk.
Ik heb even het volgende bedacht om het makkelijker te maken :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public String gemiddelde(int [] getallen)
{ int som=0; Double gemiddeld; for (int x=0; x < 10; x++){ som = som + getallen[x]; } gemiddeld = (double)(som/10); return gemiddeld.toString(); } |
Het enige wat je hoeft te doen is die getallen array als argument te gebruiken in de functie. Je zou het als volgt kunnen implementeren :
1 | gemLabel.setText(gemiddelde(cijfers)); |
[ Bericht 0% gewijzigd door #ANONIEM op 14-10-2006 15:58:40 ] |
Messenga | zaterdag 14 oktober 2006 @ 16:04 |
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 | /* A basic extension of the java.applet.Applet class */
import java.awt.*; import java.applet.*;
public class Applet1 extends Applet { private int AANTAL = 10; private int[]cijfers = new int [AANTAL]; public void init() { // Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller symantec.itools.lang.Context.setApplet(this); // This code is automatically generated by Visual Cafe when you add // components to the visual environment. It instantiates and initializes // the components. To modify the code, only use code syntax that matches // what Visual Cafe can generate, or Visual Cafe may be unable to back // parse your Java file into its visual environment. //{{INIT_CONTROLS setLayout(null); setSize(567,617); add(CijferLijst); CijferLijst.setBounds(48,72,231,392); SomButton.setLabel("Som"); add(SomButton); SomButton.setBackground(java.awt.Color.lightGray); SomButton.setFont(new Font("Dialog", Font.BOLD, 12)); SomButton.setBounds(324,144,72,40); SorteerButton.setLabel("Sorteer"); add(SorteerButton); SorteerButton.setBackground(java.awt.Color.lightGray); SorteerButton.setFont(new Font("Dialog", Font.BOLD, 12)); SorteerButton.setBounds(324,72,72,40); MinButton.setLabel("Minimum"); add(MinButton); MinButton.setBackground(java.awt.Color.lightGray); MinButton.setFont(new Font("Dialog", Font.BOLD, 12)); MinButton.setBounds(324,216,72,40); MaxButton.setLabel("Maximum"); add(MaxButton); MaxButton.setBackground(java.awt.Color.lightGray); MaxButton.setFont(new Font("Dialog", Font.BOLD, 12)); MaxButton.setBounds(324,288,72,40); MaakButton.setLabel("Maak Getallen : "); add(MaakButton); MaakButton.setBackground(java.awt.Color.lightGray); MaakButton.setFont(new Font("Dialog", Font.BOLD, 12)); MaakButton.setBounds(48,504,204,40); add(MaxLabel); MaxLabel.setBounds(432,288,99,34); add(MinLabel); MinLabel.setBounds(420,216,99,34); add(SomLabel); SomLabel.setBounds(420,144,99,34); GemButton.setLabel("Gemiddelde"); add(GemButton); GemButton.setBackground(java.awt.Color.lightGray); GemButton.setFont(new Font("Dialog", Font.BOLD, 12)); GemButton.setBounds(324,348,72,40); add(GemLabel); GemLabel.setBounds(432,348,99,34); //}} //{{REGISTER_LISTENERS SymAction lSymAction = new SymAction(); MaakButton.addActionListener(lSymAction); SorteerButton.addActionListener(lSymAction); MaxButton.addActionListener(lSymAction); MinButton.addActionListener(lSymAction); SomButton.addActionListener(lSymAction); GemButton.addActionListener(lSymAction); //}} } //{{DECLARE_CONTROLS java.awt.List CijferLijst = new java.awt.List(0); java.awt.Button SomButton = new java.awt.Button(); java.awt.Button SorteerButton = new java.awt.Button(); java.awt.Button MinButton = new java.awt.Button(); java.awt.Button MaxButton = new java.awt.Button(); java.awt.Button MaakButton = new java.awt.Button(); java.awt.Label MaxLabel = new java.awt.Label(); java.awt.Label MinLabel = new java.awt.Label(); java.awt.Label SomLabel = new java.awt.Label(); java.awt.Button GemButton = new java.awt.Button(); java.awt.Label GemLabel = new java.awt.Label(); //}}
class SymAction implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent event) { Object object = event.getSource(); if (object == MaakButton) MaakButton_ActionPerformed(event); else if (object == SorteerButton) SorteerButton_ActionPerformed(event); else if (object == MaxButton) MaxButton_ActionPerformed(event); else if (object == MinButton) MinButton_ActionPerformed(event); else if (object == SomButton) SomButton_ActionPerformed(event); } }
void MaakButton_ActionPerformed(java.awt.event.ActionEvent event) {CijferLijst.removeAll();//verwijderd cijfers for(int t = 0; t < AANTAL; t++)// maakt een int genaamd t, zolang t kleiner is dan aantal //komt er 1 bij { cijfers[t] = (int)(Math.random()*100);//hij maakt een random getal van 0 tot 99. CijferLijst.add(String.valueOf(cijfers[t]),t);//die 10 getallen voegt hij toe aan de lijst } // to do: code goes here. }
void SorteerButton_ActionPerformed(java.awt.event.ActionEvent event) { int lengte =CijferLijst.getItemCount(); // pakt de lengte for ( int aantal = lengte; aantal >1; aantal--)// Als aantal gelijk is aan lengte for (int index =0; index < aantal-1; index++)//gaat ie verder, index moet kleiner zijn dan aantal-1 { String dit_element = CijferLijst.getItem(index);//pakt het element if(dit_element.compareTo(CijferLijst.getItem(index+1)) > 0)//vergelijkt 2 elementen uit de lijst { CijferLijst.remove(index);// verwijderd het tijdelijk CijferLijst.add(dit_element, index+1);// voegt het op de juiste plaats toe } } } // to do: code goes here. void MaxButton_ActionPerformed(java.awt.event.ActionEvent event) {int maximum = cijfers[0];// het maximum komt uit cijfers for (int t =1;t < AANTAL;t++)// zolang t kleiner is dan aantal komt er 1 bij { if(maximum < cijfers[t])//als maximum kleiner is dan het cijfers[t] maximum=cijfers[t];// maakt hij het maximum gelijk aan cijfers[t] } MaxLabel.setText(String.valueOf(maximum));//maakt een label met het getal } // to do: code goes here. void MinButton_ActionPerformed(java.awt.event.ActionEvent event) {int minimum = cijfers[0]; for (int t =1;t < AANTAL;t++) { if(minimum > cijfers[t]) minimum=cijfers[t]; } MinLabel.setText(String.valueOf(minimum)); } // Zie code van de MaxButton, alleen hier moet het minimum groter zijn dan cijfers[t] void SomButton_ActionPerformed(java.awt.event.ActionEvent event) { int som = 0;//som word gelijkgesteld aan 0. for(int i=0; i<cijfers.length; i++){//zolang i kleiner is dan cijfer.length komt er 1 bij. som += cijfers[i];//de som wordt gelijkgesteld aan alle cijfers. } SomLabel.setText(String.valueOf(som));//maakt et label van de som } } public String gemiddelde(int [] getallen)
{ int som=0; Double gemiddeld; for (int x=0; x < 10; x++){ som = som + getallen[x]; } gemiddeld = (double)(som/10); return gemiddeld.toString(); }
|
Zo dus? |
#ANONIEM | zaterdag 14 oktober 2006 @ 16:10 |
quote: Lol, wat maakt VC er een rommel van 
- Je hebt nog geen methode voor het verwerken van een klik op de gemiddele button. - Daarin moet je de getallen uit de list lezen en in de cijfer array stoppen. - De methode gemiddelde moet onderdeel zijn van je applet, hij valt nu buiten de laatste bracket.
[ Bericht 1% gewijzigd door #ANONIEM op 14-10-2006 16:11:52 ] |
Messenga | zaterdag 14 oktober 2006 @ 16:14 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | void GemButton_ActionPerformed(java.awt.event.ActionEvent event) { public String gemiddelde(int [] getallen)
{ int som=0; Double gemiddeld; for (int x=0; x < 10; x++){ som = som + getallen[x]; } gemiddeld = (double)(som/10); return gemiddeld.toString(); }
// to do: code goes here. } |
Zo dus? 
Dan krijg ik de volgende error :
1 2 3 4 5 6 7 8 9 10 11 12 | c:VisualCafeSEjava2binjavac.exe -g -d "C:Documents and SettingsNiekMijn documentenRekenProject\" -classpath "C:Documents and SettingsNiekMijn documentenRekenProject;C:VisualCafeSEjava2librt.jar;C:VisualCafeSEjava2libdt.jar;C:VisualCafeSEjava2libi18n.jar;C:VisualCafeSEjava2libjaws.jar;C:VisualCafeSEjava2libplugprov.jar;C :VisualCafeSEJAVALIB;C:VisualCafeSEJAVALIBSYMCLASS.ZIP;C:VisualCafeSEJAVALIBCLASSES.ZIP;C:VisualCafeSEswing-1.1SWINGALL.JAR;C:VisualCafeSEbincomponentssfc.jar;C:VisualCafeSEbincom ponentssymbeans.jar;C:VisualCafeSEjavalibcollections.zip;C:VisualCafeSEjavalibicebrowserbean.jar;C:VisualCafeSEjavalibjspengine.jar;C:VisualCafeSEjavalibxml.jar;C:VisualCafeSEjavali bsymtools.jar;C:VisualCafeSEbincomponentstemplates.jar;C:VisualCafeSEbincomponentsflexlm.zip" "C:Documents and SettingsNiekMijn documentenRekenProjectApplet1.java" WebGain Java! JustInTime Compiler Version 4.00.007(x) for JDK 1.2 Copyright (C) 2000 WebGain, Inc. Error: C:Documents and SettingsNiekMijn documentenRekenProjectApplet1.java(172): Incompatible type for =. Can't convert double to java.lang.Double. gemiddeld = (double)(som/10); ^ 1 error Build Failed |
|
#ANONIEM | zaterdag 14 oktober 2006 @ 16:17 |
Je doet maar wat he  |
Messenga | zaterdag 14 oktober 2006 @ 16:19 |
quote: Ik zeg toch ook dat ik er vrij weinig van snap  |
#ANONIEM | zaterdag 14 oktober 2006 @ 16:21 |
quote: Je bent er toch al een tijdje mee bezig gezien het vorige topic  |
Messenga | zaterdag 14 oktober 2006 @ 16:22 |
Ja, maar wij hebben een docente die net weet hoe ze setText schrijft. Daar moeten wij het dus van leren. |
#ANONIEM | zaterdag 14 oktober 2006 @ 16:28 |
Ik stel het volgende voor ... Begin vanaf scratch en maak alleen een formulier met een list gevuld met 10 getallen. Maak ook een button en een label. Als je op de button drukt krijgt het label het gemiddelde van die 10 getallen. Als je dat werkend krijgt lukt de rest ook wel. Met de tips die ik je heb gegeven moet dat wel lukken... |
Wolfje | zaterdag 14 oktober 2006 @ 18:32 |
De code van Gelly geeft een error omdat de variabele ''gemiddelde" een object van het type Double is en in de berekening wordt het primitieve type double gebruikt. Daar zit een klein verschil in :).
Er zit ook een foutje in de code
1 | gemiddeld = (double)(som/10); |
Aangezien som een variabele van het type int is, is som/10 dat ook. Als de som bijvoorbeeld 73 is, heb je dat 73/10 = 7 en niet 7.3 zoals je wel wilt. Je zult som eerst moeten type casten naar een double (of vanaf het begin al van het type double maken) en dan pas delen door 10.
Sinds java 1.5 kun je ook
1 | for ( int c: cijfers ) som += c; |
gebruiken om de som te berekenen. Een dergelijke constructie maakt je code nog leesbaarder. |
#ANONIEM | zaterdag 14 oktober 2006 @ 18:39 |
Ja, klopt. Had het ook niet gerunned. |
FallenAngel666 | maandag 16 oktober 2006 @ 08:46 |
quote: De enhanced for-loop |
Messenga | zaterdag 28 oktober 2006 @ 14:10 |
Ik heb bovenin dit gedeclareerd :
1 2 3 4 5 6 7 8 9 10 11 | public class VoetbalApplet extends Applet { public class Club { public String naam; public int punten; } private int MAXAANTAL =4; private Club[]ClubRij = new Club[MAXAANTAL]; int teller = 0; |
Daarna wil ik deze code uitvoeren :
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 | void SorteerPunt_ActionPerformed(java.awt.event.ActionEvent event) { sortpunten(ClubRij);
// to do: code goes here. } public void sortpunten (Club[ ] array) { int i, j; String s; Club temp; for ( i = 1; i < array.length; i++ ) for ( j = 0; j < array.length-i; j++ ) if ( array[j].punten > array[j+1].punten ) { temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } EindLijst.clear(); for (i = 0; i < array.length; i++) { if (array[i].naam != null) { s = array[i].naam + " - " + array[i].punten; EindLijst.add(s); } } } //zie commentaar van de namen van de actionpeformed hierboven, alleen de variabele namen //zijn gewijzigd. } // to do: code goes here. |
En dat werkt niet :'). Hij geeft het volgende : quote:Exception occurred during event dispatching: java.lang.NullPointerException at VoetbalApplet.sortpunten(VoetbalApplet.java, Compiled Code) at VoetbalApplet.SorteerPunt_ActionPerformed(VoetbalApplet.java:217) at VoetbalApplet$SymAction.actionPerformed(VoetbalApplet.java:157) at java.awt.Button.processActionEvent(Button.java:308) at java.awt.Button.processEvent(Button.java:281) at java.awt.Component.dispatchEventImpl(Component.java, Compiled Code) at java.awt.Component.dispatchEvent(Component.java, Compiled Code) at java.awt.EventQueue.dispatchEvent(EventQueue.java, Compiled Code) at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java, C What am i doing wrong? |
FallenAngel666 | zaterdag 28 oktober 2006 @ 14:52 |
Een NPE is vrij makkelijk te debuggen binnen een fatsoenlijke IDE. Gewoon door je code heen stappen en kijken waar de NPE precies optreedt. Voor ons is het onmogelijk te zeggen waar het precies misgaat op basis van deze code fragmenten. |
Messenga | zaterdag 28 oktober 2006 @ 14:54 |
Zal ik de gehele code maar geven dan?
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 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 | /* A basic extension of the java.applet.Applet class */
import java.awt.*; import java.applet.*;
public class VoetbalApplet extends Applet { public class Club { public String naam; public int punten; } private int MAXAANTAL =4; private Club[]ClubRij = new Club[MAXAANTAL]; int teller = 0; public void init() { // Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller symantec.itools.lang.Context.setApplet(this); // This code is automatically generated by Visual Cafe when you add // components to the visual environment. It instantiates and initializes // the components. To modify the code, only use code syntax that matches // what Visual Cafe can generate, or Visual Cafe may be unable to back // parse your Java file into its visual environment. //{{INIT_CONTROLS setLayout(null); setSize(711,663); add(EenVeld); EenVeld.setBounds(180,84,160,42); label1.setText("Vul je eerste club in : "); add(label1); label1.setFont(new Font("Dialog", Font.BOLD, 12)); label1.setBounds(36,84,132,36); label2.setText("Vul je tweede club in : "); add(label2); label2.setFont(new Font("Dialog", Font.BOLD, 12)); label2.setBounds(24,156,132,36); label3.setText("Vul je derde club in : "); add(label3); label3.setFont(new Font("Dialog", Font.BOLD, 12)); label3.setBounds(36,216,132,36); label4.setText("Vul je vierde club in : "); add(label4); label4.setFont(new Font("Dialog", Font.BOLD, 12)); label4.setBounds(36,300,132,36); add(TweeVeld); TweeVeld.setBounds(180,144,160,42); add(DrieVeld); DrieVeld.setBounds(180,216,160,42); add(VierVeld); VierVeld.setBounds(180,288,160,42); label5.setText("Naam Club :"); add(label5); label5.setFont(new Font("Dialog", Font.BOLD, 12)); label5.setBounds(192,24,121,25); label6.setText("Aantal Punten :"); add(label6); label6.setFont(new Font("Dialog", Font.BOLD, 12)); label6.setBounds(372,24,121,25); add(Punt1Veld); Punt1Veld.setBounds(396,84,52,36); add(Punt2Veld); Punt2Veld.setBounds(396,144,51,36); add(Punt3Veld); Punt3Veld.setBounds(396,216,51,36); add(Punt4Veld); Punt4Veld.setBounds(396,288,51,36); add(EindLijst); EindLijst.setBounds(72,360,195,160); NaamButton.setLabel("Sorteer op naam"); add(NaamButton); NaamButton.setBackground(java.awt.Color.lightGray); NaamButton.setFont(new Font("Dialog", Font.BOLD, 12)); NaamButton.setBounds(300,372,193,48); SorteerPunt.setLabel("Sorteer op punten"); add(SorteerPunt); SorteerPunt.setBackground(java.awt.Color.lightGray); SorteerPunt.setFont(new Font("Dialog", Font.BOLD, 12)); SorteerPunt.setBounds(300,444,193,48); add(WinnaarLabel); WinnaarLabel.setBounds(312,540,187,37); label7.setText("En de kampioen op basis van punten is : "); add(label7); label7.setFont(new Font("Dialog", Font.BOLD, 12)); label7.setBounds(24,540,252,40); DobbelButton.setLabel("Dobbel : "); add(DobbelButton); DobbelButton.setBackground(java.awt.Color.lightGray); DobbelButton.setFont(new Font("Dialog", Font.BOLD, 12)); DobbelButton.setBounds(528,408,135,49); label8.setText("En de kampioen op basis van dobbelen is :"); add(label8); label8.setFont(new Font("Dialog", Font.BOLD, 12)); label8.setBounds(12,612,252,40); add(DobbelLabel); DobbelLabel.setBounds(300,612,187,37); DobbelLabel.setVisible(false); VoegButton.setLabel("Voeg toe"); add(VoegButton); VoegButton.setBackground(java.awt.Color.lightGray); VoegButton.setFont(new Font("Dialog", Font.BOLD, 12)); VoegButton.setBounds(492,132,174,68); //}} //{{REGISTER_LISTENERS SymAction lSymAction = new SymAction(); VoegButton.addActionListener(lSymAction); NaamButton.addActionListener(lSymAction); SorteerPunt.addActionListener(lSymAction); DobbelButton.addActionListener(lSymAction); //}} } //{{DECLARE_CONTROLS java.awt.TextField EenVeld = new java.awt.TextField(); java.awt.Label label1 = new java.awt.Label(); java.awt.Label label2 = new java.awt.Label(); java.awt.Label label3 = new java.awt.Label(); java.awt.Label label4 = new java.awt.Label(); java.awt.TextField TweeVeld = new java.awt.TextField(); java.awt.TextField DrieVeld = new java.awt.TextField(); java.awt.TextField VierVeld = new java.awt.TextField(); java.awt.Label label5 = new java.awt.Label(); java.awt.Label label6 = new java.awt.Label(); java.awt.TextField Punt1Veld = new java.awt.TextField(); java.awt.TextField Punt2Veld = new java.awt.TextField(); java.awt.TextField Punt3Veld = new java.awt.TextField(); java.awt.TextField Punt4Veld = new java.awt.TextField(); java.awt.List EindLijst = new java.awt.List(4); java.awt.Button NaamButton = new java.awt.Button(); java.awt.Button SorteerPunt = new java.awt.Button(); java.awt.Label WinnaarLabel = new java.awt.Label(); java.awt.Label label7 = new java.awt.Label(); java.awt.Button DobbelButton = new java.awt.Button(); java.awt.Label label8 = new java.awt.Label(); java.awt.Label DobbelLabel = new java.awt.Label(); java.awt.Button VoegButton = new java.awt.Button(); //}}
class SymAction implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent event) { Object object = event.getSource(); if (object == VoegButton) VoegButton_ActionPerformed(event); else if (object == NaamButton) NaamButton_ActionPerformed(event); else if (object == DobbelButton) DobbelButton_ActionPerformed(event); else if (object == SorteerPunt) SorteerPunt_ActionPerformed(event);
}
void VoegButton_ActionPerformed(java.awt.event.ActionEvent event) { EindLijst.clear(); EindLijst.addItem(EenVeld.getText()+" - "+ Punt1Veld.getText()); EindLijst.addItem(TweeVeld.getText()+" - "+ Punt2Veld.getText()); EindLijst.addItem(DrieVeld.getText()+" - "+ Punt3Veld.getText()); EindLijst.addItem(VierVeld.getText()+" - "+ Punt4Veld.getText()); }
void NaamButton_ActionPerformed(java.awt.event.ActionEvent event) {int lengte =EindLijst.getItemCount(); // pakt de lengte for ( int aantal = lengte; aantal >1; aantal--)// Als aantal gelijk is aan lengte for (int index =0; index < aantal-1; index++)//gaat ie verder, index moet kleiner zijn dan aantal-1 { String dit_element = EindLijst.getItem(index);//pakt het element if(dit_element.compareTo(EindLijst.getItem(index+1)) > 0)//vergelijkt 2 elementen uit de lijst { EindLijst.remove(index);// verwijderd het tijdelijk EindLijst.add(dit_element, index+1);// voegt het op de juiste plaats toe } } // to do: code goes here. }
}
void DobbelButton_ActionPerformed(java.awt.event.ActionEvent event) { int getal = (int)Math.floor(Math.random()*3 + 1); DobbelLabel.setVisible(true); if (getal == 1){ DobbelLabel.setText(EenVeld.getText()); } else if (getal == 2){ DobbelLabel.setText(TweeVeld.getText()); } else if (getal == 3){ DobbelLabel.setText(DrieVeld.getText()); } else if ( getal ==4){ DobbelLabel.setText(VierVeld.getText()); }
}
void SorteerPunt_ActionPerformed(java.awt.event.ActionEvent event) { sortpunten(ClubRij);
// to do: code goes here. } public void sortpunten (Club[ ] array) { int i, j; String s; Club temp; for ( i = 1; i < array.length; i++ ) for ( j = 0; j < array.length-i; j++ ) if ( array[j].punten > array[j+1].punten ) { temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } EindLijst.clear(); for (i = 0; i < array.length; i++) { if (array[i].naam != null) { s = array[i].naam + " - " + array[i].punten; EindLijst.add(s); } } } //zie commentaar van de namen van de actionpeformed hierboven, alleen de variabele namen //zijn gewijzigd. } // to do: code goes here. |
|
FallenAngel666 | zaterdag 28 oktober 2006 @ 15:12 |
Je zou kunnen overwegen om je array van Club objecten ook daadwerkelijk te vullen met Club objecten. Op regel 228 gaat het nu mis. |
Messenga | zaterdag 28 oktober 2006 @ 15:38 |
quote:Op zaterdag 28 oktober 2006 15:12 schreef FallenAngel666 het volgende:Je zou kunnen overwegen om je array van Club objecten ook daadwerkelijk te vullen met Club objecten. Op regel 228 gaat het nu mis. Ik zie het!
Dankje  |
Wolfje | zaterdag 28 oktober 2006 @ 22:57 |
Je kunt in java heel gemakkelijk objecten sorteren met behulp van Arrays.sort() of Collections.sort(). Daartoe moet je een class wel eerst de Comparable interface (te vinden in java.lang) laten implementeren. Of je kunt ook de Comparator class uit java.util gebruiken.
Een voorbeeldje:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class Club implements Comparable<Club> { public String naam; public int punten; public int compareTo( Club c ) { if ( punten > c.punten ) return -1; if ( punten < c.punten ) return 1; return 0; } }
Club[] lijst = new Club[100]; // initialiseer de objecten, nu zijn ze nog null .... Arrays.sort( lijst ); |
|
Messenga | zondag 29 oktober 2006 @ 16:53 |
quote:Op zaterdag 28 oktober 2006 15:12 schreef FallenAngel666 het volgende:Je zou kunnen overwegen om je array van Club objecten ook daadwerkelijk te vullen met Club objecten. Op regel 228 gaat het nu mis. Hmm, zodra ik de naam wijzig van de eerste 'punten' in rij 228, in Club, geeft Visual Cafe ( ) de volgende melding :
Error: C:Documents and SettingsNiekMijn documentenSchoolVoetbalProjectVoetbalProjectVoetbalApplet.java(229): No variable Club defined in inner class VoetbalApplet. Club. if ( array[j].Club > array[j+1].punten)
Ben ik nou zo dom of geef ik gewoon de verkeerde naam aan hetgeen? |
FallenAngel666 | zondag 29 oktober 2006 @ 17:56 |
Wat doe je nu weer allemaal! |
Messenga | zondag 29 oktober 2006 @ 18:02 |
Niks bijzonders ik maak van:
if ( array[j].punten> array[j+1].punten)
if ( array[j].Club > array[j+1].punten)
En dat werkt niet  |
FallenAngel666 | zondag 29 oktober 2006 @ 18:20 |
Nee duh!  Nu probeer je de member Club aan te roepen van een Club object dat zich op die index in de array bevindt en die bestaat niet. Waarom heb je dat gewijzigd, want daar zat de fout niet. |
Messenga | zondag 29 oktober 2006 @ 18:21 |
Wat is de fout dan?  |
FallenAngel666 | zondag 29 oktober 2006 @ 18:27 |
De array waar je doorheen looped bestaat. Deze is geïnitialiseerd op regel 16, waar je aangeeft dat je een array van Club objecten wilt, waar maximaal 4 Club objecten in passen. Tot zover alles ok. Op een gegeven moment ga je door de array heen loopen op regel 226 / 227, wat mogelijk is, want de array bestaat immers en hij's netjes geïnitialiseerd met een maximale grote van 4 Club objecten. Wat je vergeet is om er ook daadwerkelijk Club objecten in te stoppen!  Op het moment dat jij de member 'punten' probeert aan te roepen van een van de Club objecten in de array (die er dus niet in zitten ) dan zegt ie van "ga eens lekker dood!". Dat doet ie met een mooie NPE. |
Messenga | zondag 29 oktober 2006 @ 18:33 |
En hoe stop ik ze erin? |
FallenAngel666 | zondag 29 oktober 2006 @ 18:42 |
1 2 3 4 5 6 | Club ajax = new Club(); ajax.naam = "Ajax"; ajax.punten = -1; ClubRij[0] = ajax;
//etc... |
Geef de klasse Club in iedergeval even een constructor, die de members gelijk bij het initialiseren van het object een waarde geeft. Maak de members trouwens ook even private en maak dan voor iedere member accessor methoden (get/set) aan, als je toch bezig bent.
[ Bericht 10% gewijzigd door FallenAngel666 op 29-10-2006 18:47:51 ] |
Messenga | zondag 29 oktober 2006 @ 19:21 |
Maar dat is helemaal niet nodig. Ik laat mensen zelf kiezen wat voor club ze willen en het aantal punten dat ze willen. Vervolgens komt dat in een lijst te staan op deze manier: "Club - Punten"
Nou wil ik het aantal punten op volgorde krijgen. |
FallenAngel666 | zondag 29 oktober 2006 @ 20:18 |
<-- code weg, alleen maar onnodige pagina vulling -->
Zoiets, geen idee of het compileert. Alleen moet je nu wel alle clubs invullen en geldige int waarden voor de punten gebruiken anders gaat het niet goed, maar dat kan je zelf best oplossen
[ Bericht 25% gewijzigd door FallenAngel666 op 29-10-2006 20:51:53 ] |
Messenga | zondag 29 oktober 2006 @ 20:21 |
Ik zal eens kijken, bedankt. |
Messenga | zondag 29 oktober 2006 @ 20:28 |
Je wordt zo ziek van VC hé.
Nu geeft hij niks geen foutmelding of wat, maar hij wijzigt gewoon niet de volgorde . |
FallenAngel666 | zondag 29 oktober 2006 @ 20:38 |
Does je code posten 
Waarom gebruik je trouwens nog AWT? |
Messenga | zondag 29 oktober 2006 @ 20:38 |
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 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 | /* A basic extension of the java.applet.Applet class */
import java.awt.*; import java.applet.*;
public class VoetbalApplet extends Applet { public class Club { private String naam; private int punten;
public Club(String naam, int punten){ this.naam = naam; this.punten = punten; }
public String getNaam(){ return naam; }
public int getPunten(){ return punten; }
public String toString(){ return naam+" - "+punten; } } public void init() { // Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller symantec.itools.lang.Context.setApplet(this); // This code is automatically generated by Visual Cafe when you add // components to the visual environment. It instantiates and initializes // the components. To modify the code, only use code syntax that matches // what Visual Cafe can generate, or Visual Cafe may be unable to back // parse your Java file into its visual environment. //{{INIT_CONTROLS setLayout(null); setSize(711,663); add(EenVeld); EenVeld.setBounds(180,84,160,42); label1.setText("Vul je eerste club in : "); add(label1); label1.setFont(new Font("Dialog", Font.BOLD, 12)); label1.setBounds(36,84,132,36); label2.setText("Vul je tweede club in : "); add(label2); label2.setFont(new Font("Dialog", Font.BOLD, 12)); label2.setBounds(24,156,132,36); label3.setText("Vul je derde club in : "); add(label3); label3.setFont(new Font("Dialog", Font.BOLD, 12)); label3.setBounds(36,216,132,36); label4.setText("Vul je vierde club in : "); add(label4); label4.setFont(new Font("Dialog", Font.BOLD, 12)); label4.setBounds(36,300,132,36); add(TweeVeld); TweeVeld.setBounds(180,144,160,42); add(DrieVeld); DrieVeld.setBounds(180,216,160,42); add(VierVeld); VierVeld.setBounds(180,288,160,42); label5.setText("Naam Club :"); add(label5); label5.setFont(new Font("Dialog", Font.BOLD, 12)); label5.setBounds(192,24,121,25); label6.setText("Aantal Punten :"); add(label6); label6.setFont(new Font("Dialog", Font.BOLD, 12)); label6.setBounds(372,24,121,25); add(Punt1Veld); Punt1Veld.setBounds(396,84,52,36); add(Punt2Veld); Punt2Veld.setBounds(396,144,51,36); add(Punt3Veld); Punt3Veld.setBounds(396,216,51,36); add(Punt4Veld); Punt4Veld.setBounds(396,288,51,36); add(EindLijst); EindLijst.setBounds(72,360,195,160); NaamButton.setLabel("Sorteer op naam"); add(NaamButton); NaamButton.setBackground(java.awt.Color.lightGray); NaamButton.setFont(new Font("Dialog", Font.BOLD, 12)); NaamButton.setBounds(300,372,193,48); SorteerPunt.setLabel("Sorteer op punten"); add(SorteerPunt); SorteerPunt.setBackground(java.awt.Color.lightGray); SorteerPunt.setFont(new Font("Dialog", Font.BOLD, 12)); SorteerPunt.setBounds(300,444,193,48); add(WinnaarLabel); WinnaarLabel.setBounds(312,540,187,37); label7.setText("En de kampioen op basis van punten is : "); add(label7); label7.setFont(new Font("Dialog", Font.BOLD, 12)); label7.setBounds(24,540,252,40); DobbelButton.setLabel("Dobbel : "); add(DobbelButton); DobbelButton.setBackground(java.awt.Color.lightGray); DobbelButton.setFont(new Font("Dialog", Font.BOLD, 12)); DobbelButton.setBounds(528,408,135,49); label8.setText("En de kampioen op basis van dobbelen is :"); add(label8); label8.setFont(new Font("Dialog", Font.BOLD, 12)); label8.setBounds(12,612,252,40); add(DobbelLabel); DobbelLabel.setBounds(300,612,187,37); DobbelLabel.setVisible(false); VoegButton.setLabel("Voeg toe"); add(VoegButton); VoegButton.setBackground(java.awt.Color.lightGray); VoegButton.setFont(new Font("Dialog", Font.BOLD, 12)); VoegButton.setBounds(492,132,174,68); //}} //{{REGISTER_LISTENERS SymAction lSymAction = new SymAction(); VoegButton.addActionListener(lSymAction); NaamButton.addActionListener(lSymAction); SorteerPunt.addActionListener(lSymAction); DobbelButton.addActionListener(lSymAction); //}} } //{{DECLARE_CONTROLS java.awt.TextField EenVeld = new java.awt.TextField(); java.awt.Label label1 = new java.awt.Label(); java.awt.Label label2 = new java.awt.Label(); java.awt.Label label3 = new java.awt.Label(); java.awt.Label label4 = new java.awt.Label(); java.awt.TextField TweeVeld = new java.awt.TextField(); java.awt.TextField DrieVeld = new java.awt.TextField(); java.awt.TextField VierVeld = new java.awt.TextField(); java.awt.Label label5 = new java.awt.Label(); java.awt.Label label6 = new java.awt.Label(); java.awt.TextField Punt1Veld = new java.awt.TextField(); java.awt.TextField Punt2Veld = new java.awt.TextField(); java.awt.TextField Punt3Veld = new java.awt.TextField(); java.awt.TextField Punt4Veld = new java.awt.TextField(); java.awt.List EindLijst = new java.awt.List(4); java.awt.Button NaamButton = new java.awt.Button(); java.awt.Button SorteerPunt = new java.awt.Button(); java.awt.Label WinnaarLabel = new java.awt.Label(); java.awt.Label label7 = new java.awt.Label(); java.awt.Button DobbelButton = new java.awt.Button(); java.awt.Label label8 = new java.awt.Label(); java.awt.Label DobbelLabel = new java.awt.Label(); java.awt.Button VoegButton = new java.awt.Button(); //}}
class SymAction implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent event) { Object object = event.getSource(); if (object == VoegButton) VoegButton_ActionPerformed(event); else if (object == NaamButton) NaamButton_ActionPerformed(event); else if (object == DobbelButton) DobbelButton_ActionPerformed(event); else if (object == SorteerPunt) SorteerPunt_ActionPerformed(event);
}
void VoegButton_ActionPerformed(java.awt.event.ActionEvent event) { EindLijst.clear(); EindLijst.addItem(EenVeld.getText()+" - "+ Punt1Veld.getText()); EindLijst.addItem(TweeVeld.getText()+" - "+ Punt2Veld.getText()); EindLijst.addItem(DrieVeld.getText()+" - "+ Punt3Veld.getText()); EindLijst.addItem(VierVeld.getText()+" - "+ Punt4Veld.getText()); }
void NaamButton_ActionPerformed(java.awt.event.ActionEvent event) {int lengte =EindLijst.getItemCount(); // pakt de lengte for ( int aantal = lengte; aantal >1; aantal--)// Als aantal gelijk is aan lengte for (int index =0; index < aantal-1; index++)//gaat ie verder, index moet kleiner zijn dan aantal-1 { String dit_element = EindLijst.getItem(index);//pakt het element if(dit_element.compareTo(EindLijst.getItem(index+1)) > 0)//vergelijkt 2 elementen uit de lijst { EindLijst.remove(index);// verwijderd het tijdelijk EindLijst.add(dit_element, index+1);// voegt het op de juiste plaats toe } } // to do: code goes here. }
}
void DobbelButton_ActionPerformed(java.awt.event.ActionEvent event) { int getal = (int)Math.floor(Math.random()*3 + 1); DobbelLabel.setVisible(true); if (getal == 1){ DobbelLabel.setText(EenVeld.getText()); } else if (getal == 2){ DobbelLabel.setText(TweeVeld.getText()); } else if (getal == 3){ DobbelLabel.setText(DrieVeld.getText()); } else if ( getal ==4){ DobbelLabel.setText(VierVeld.getText()); }
}
void SorteerPunt_ActionPerformed(java.awt.event.ActionEvent event) { } public void sortpunten (Club[ ] array) { int i, j; String s; Club temp; for ( i = 1; i < array.length; i++ ) for ( j = 0; j < array.length-i; j++ ) if ( array[j].getPunten() > array[j+1].getPunten()) { temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } EindLijst.clear();
for (i = 0; i < array.length; i++) { if (array[i].getNaam() != null) { s = array[i].getNaam() + " - " + array[i].getPunten(); EindLijst.add(s); } } } } //zie commentaar van de namen van de actionpeformed hierboven, alleen de variabele namen //zijn gewijzigd.
// to do: code goes here. |
x |
FallenAngel666 | zondag 29 oktober 2006 @ 20:41 |
sorteerpunten() nog even aanroepen vanuit de ActionPerformed methode van de 'Sorteer op punten' knop, zoals je dat eerst wel deed  |
Messenga | zondag 29 oktober 2006 @ 20:44 |
{ sortpunten(ClubRij); dit he? 
Dan kent hij clubrij niet. |
FallenAngel666 | zondag 29 oktober 2006 @ 20:49 |
Nee die maak je ook niet meer aan... Je hebt inneens een zooi code die je eerst wel had eruit gesloopt.
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 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | /* A basic extension of the java.applet.Applet class */
import java.awt.*; import java.applet.*;
public class VoetbalApplet extends Applet { private int MAXAANTAL =4; private Club[] ClubRij = new Club[MAXAANTAL]; public class Club { private String naam; private int punten;
public Club(String naam, int punten){ this.naam = naam; this.punten = punten; }
public String getNaam(){ return naam; }
public void setNaam(){ this.naam = naam; }
public int getPunten(){ return punten; }
public void setPunten(){ this.punten = punten; }
public String toString(){ return naam+" - "+punten; } }
int teller = 0;
public void init() { setLayout(null); setSize(711,663); add(EenVeld); EenVeld.setBounds(180,84,160,42); label1.setText("Vul je eerste club in : "); add(label1); label1.setFont(new Font("Dialog", Font.BOLD, 12)); label1.setBounds(36,84,132,36); label2.setText("Vul je tweede club in : "); add(label2); label2.setFont(new Font("Dialog", Font.BOLD, 12)); label2.setBounds(24,156,132,36); label3.setText("Vul je derde club in : "); add(label3); label3.setFont(new Font("Dialog", Font.BOLD, 12)); label3.setBounds(36,216,132,36); label4.setText("Vul je vierde club in : "); add(label4); label4.setFont(new Font("Dialog", Font.BOLD, 12)); label4.setBounds(36,300,132,36); add(TweeVeld); TweeVeld.setBounds(180,144,160,42); add(DrieVeld); DrieVeld.setBounds(180,216,160,42); add(VierVeld); VierVeld.setBounds(180,288,160,42); label5.setText("Naam Club :"); add(label5); label5.setFont(new Font("Dialog", Font.BOLD, 12)); label5.setBounds(192,24,121,25); label6.setText("Aantal Punten :"); add(label6); label6.setFont(new Font("Dialog", Font.BOLD, 12)); label6.setBounds(372,24,121,25); add(Punt1Veld); Punt1Veld.setBounds(396,84,52,36); add(Punt2Veld); Punt2Veld.setBounds(396,144,51,36); add(Punt3Veld); Punt3Veld.setBounds(396,216,51,36); add(Punt4Veld); Punt4Veld.setBounds(396,288,51,36); add(EindLijst); EindLijst.setBounds(72,360,195,160); NaamButton.setLabel("Sorteer op naam"); add(NaamButton); NaamButton.setBackground(java.awt.Color.lightGray); NaamButton.setFont(new Font("Dialog", Font.BOLD, 12)); NaamButton.setBounds(300,372,193,48); SorteerPunt.setLabel("Sorteer op punten"); add(SorteerPunt); SorteerPunt.setBackground(java.awt.Color.lightGray); SorteerPunt.setFont(new Font("Dialog", Font.BOLD, 12)); SorteerPunt.setBounds(300,444,193,48); add(WinnaarLabel); WinnaarLabel.setBounds(312,540,187,37); label7.setText("En de kampioen op basis van punten is : "); add(label7); label7.setFont(new Font("Dialog", Font.BOLD, 12)); label7.setBounds(24,540,252,40); DobbelButton.setLabel("Dobbel : "); add(DobbelButton); DobbelButton.setBackground(java.awt.Color.lightGray); DobbelButton.setFont(new Font("Dialog", Font.BOLD, 12)); DobbelButton.setBounds(528,408,135,49); label8.setText("En de kampioen op basis van dobbelen is :"); add(label8); label8.setFont(new Font("Dialog", Font.BOLD, 12)); label8.setBounds(12,612,252,40); add(DobbelLabel); DobbelLabel.setBounds(300,612,187,37); DobbelLabel.setVisible(false); VoegButton.setLabel("Voeg toe"); add(VoegButton); VoegButton.setBackground(java.awt.Color.lightGray); VoegButton.setFont(new Font("Dialog", Font.BOLD, 12)); VoegButton.setBounds(492,132,174,68); //}}
//{{REGISTER_LISTENERS SymAction lSymAction = new SymAction(); VoegButton.addActionListener(lSymAction); NaamButton.addActionListener(lSymAction); SorteerPunt.addActionListener(lSymAction); DobbelButton.addActionListener(lSymAction); //}} }
//{{DECLARE_CONTROLS java.awt.TextField EenVeld = new java.awt.TextField(); java.awt.Label label1 = new java.awt.Label(); java.awt.Label label2 = new java.awt.Label(); java.awt.Label label3 = new java.awt.Label(); java.awt.Label label4 = new java.awt.Label(); java.awt.TextField TweeVeld = new java.awt.TextField(); java.awt.TextField DrieVeld = new java.awt.TextField(); java.awt.TextField VierVeld = new java.awt.TextField(); java.awt.Label label5 = new java.awt.Label(); java.awt.Label label6 = new java.awt.Label(); java.awt.TextField Punt1Veld = new java.awt.TextField(); java.awt.TextField Punt2Veld = new java.awt.TextField(); java.awt.TextField Punt3Veld = new java.awt.TextField(); java.awt.TextField Punt4Veld = new java.awt.TextField(); java.awt.List EindLijst = new java.awt.List(4); java.awt.Button NaamButton = new java.awt.Button(); java.awt.Button SorteerPunt = new java.awt.Button(); java.awt.Label WinnaarLabel = new java.awt.Label(); java.awt.Label label7 = new java.awt.Label(); java.awt.Button DobbelButton = new java.awt.Button(); java.awt.Label label8 = new java.awt.Label(); java.awt.Label DobbelLabel = new java.awt.Label(); java.awt.Button VoegButton = new java.awt.Button(); //}}
class SymAction implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent event) { Object object = event.getSource(); if (object == VoegButton) VoegButton_ActionPerformed(event); else if (object == NaamButton) NaamButton_ActionPerformed(event); else if (object == DobbelButton) DobbelButton_ActionPerformed(event); else if (object == SorteerPunt) SorteerPunt_ActionPerformed(event);
}
void VoegButton_ActionPerformed(java.awt.event.ActionEvent event) { String naam = EenVeld.getText(); int punten = Integer.parseInt(Punt1Veld.getText()); Club eersteClub = new Club(naam, punten); ClubRij[0] = eersteClub;
naam = TweeVeld.getText(); punten = Integer.parseInt(Punt2Veld.getText()); Club tweedeClub = new Club(naam, punten); ClubRij[1] = tweedeClub;
naam = DrieVeld.getText(); punten = Integer.parseInt(Punt3Veld.getText()); Club derdeClub = new Club(naam, punten); ClubRij[2] = derdeClub;
naam = VierVeld.getText(); punten = Integer.parseInt(Punt4Veld.getText()); Club vierdeClub = new Club(naam, punten); ClubRij[3] = vierdeClub;
EindLijst.removeAll();
for(int i=0; i<ClubRij.length; i++){ EindLijst.add(ClubRij[i].toString()); } }
void NaamButton_ActionPerformed(java.awt.event.ActionEvent event) { int lengte =EindLijst.getItemCount(); // pakt de lengte for ( int aantal = lengte; aantal >1; aantal--)// Als aantal gelijk is aan lengte for (int index =0; index < aantal-1; index++)//gaat ie verder, index moet kleiner zijn dan aantal-1 { String dit_element = EindLijst.getItem(index);//pakt het element if(dit_element.compareTo(EindLijst.getItem(index+1)) > 0)//vergelijkt 2 elementen uit de lijst { EindLijst.remove(index);// verwijderd het tijdelijk EindLijst.add(dit_element, index+1);// voegt het op de juiste plaats toe
} }
// to do: code goes here. }
}
void DobbelButton_ActionPerformed(java.awt.event.ActionEvent event) { int getal = (int)Math.floor(Math.random()*3 + 1); DobbelLabel.setVisible(true);
if (getal == 1){ DobbelLabel.setText(EenVeld.getText()); } else if (getal == 2){ DobbelLabel.setText(TweeVeld.getText()); } else if (getal == 3){ DobbelLabel.setText(DrieVeld.getText()); } else if ( getal ==4){ DobbelLabel.setText(VierVeld.getText()); }
}
void SorteerPunt_ActionPerformed(java.awt.event.ActionEvent event) { sortpunten(ClubRij);
// to do: code goes here. }
public void sortpunten (Club[] array) { int i, j; String s; Club temp; for ( i = 1; i < array.length; i++ ) for ( j = 0; j < array.length-i; j++ ) if ( array[j].getPunten() > array[j+1].getPunten()) { temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } EindLijst.clear();
for (i = 0; i < array.length; i++) { if (array[i].getNaam() != null) { s = array[i].getNaam() + " - " + array[i].getPunten(); EindLijst.add(s); } } } //zie commentaar van de namen van de actionpeformed hierboven, alleen de variabele namen //zijn gewijzigd.
} |
Zo zou het er uit moeten zien. Of nouja, zo zou het er absoluut _niet_ uit moeten zien, maar het iig doet wat je wilt |
Messenga | zondag 29 oktober 2006 @ 20:51 |
Je bent mn held  |
rbwg | woensdag 1 november 2006 @ 13:38 |
Weet iemand hoe ik md5 op een string kan uitvoeren in Java ? Vergelijkbaar zoals in php bijvoorbeeld de functie md5(String) bestaat.
alvast dank! |
FallenAngel666 | woensdag 1 november 2006 @ 14:05 |
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 | public String generateHash(String plaintext){ MessageDigest digest = null; try{ /* MessageDigest object verkrijgen dat gebruik maakt van het MD5 algoritme */ digest = MessageDigest.getInstance("MD5"); } catch(java.security.NoSuchAlgorithmException error){ /* Exception loggen met bijv. Log4J */ } try{ /* De plaintext String converteren naar een UTF-8 gecodeerde byte array */ byte[] utf8Bytes = plaintext.getBytes("UTF-8"); /* De digest updaten met deze byte array */ digest.update(utf8Bytes); } catch(java.io.UnsupportedEncodingException error){ /* Exception loggen met bijv. Log4J */ } /* De hash operatie uitvoeren */ byte rawDigest[] = digest.digest(); /* Base64 (sun.misc.*) encoding toepassen en de byte array terug omzetten naar een String */ BASE64Encoder base64 = new BASE64Encoder(); String hash = base64.encode(rawDigest); return hash; } |
|
_Xbox_Master_ | donderdag 9 november 2006 @ 13:24 |
Ok, we zitten hier met een RMI Probleempje. De 'centrale' kan geen verbinding maken met de remote objecten. De code is wel goed maar er is iets mis met de policy. Bij 2 andere classes werkt het wel. We starten de classes met de volgende regel: start java -Djava.security.policy=allestoestaan.policy Centrale
Ik snap er weinig van op het moment aangezien het bij de 2 andere classes wel goed werkt :? Heeft iemand een idee wat er hier fout gaat?
Ik stel mijn vraag mischien wat onduidelijk maar ik weet niet wat er precies mis gaat.
De foutmelding die we krijgen bij het opstarten van Centrale.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | C:4buildclasses>java Centrale RMISecurityManager ingesteld Geen verbinding kunnen maken met remote-objecten java.security.AccessControlException: access denied (java.net.SocketPermission 1 27.0.0.1:1099 connect,resolve) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkConnect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.<init>(Unknown Source) at java.net.Socket.<init>(Unknown Source) at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown S ource) at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown S ource) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source) at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source) at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source) at sun.rmi.server.UnicastRef.newCall(Unknown Source) at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) at java.rmi.Naming.lookup(Unknown Source) at Centrale.main(Centrale.java:28) |
|
FallenAngel666 | donderdag 9 november 2006 @ 15:32 |
Je kan proberen om i.p.v dit: -Djava.security.policy=allestoestaan.policy
het volgende te doen: -Djava.security.policy==allestoestaan.policy.
Let op de de dubbele '='. Daarmee geef je aan dat alle andere policies genegeerd moeten worden en alleen de policy die je als argument opgeeft geldig is. Hoe ziet jullie allestoestaan.policy file er eigenlijk uit?
[ Bericht 3% gewijzigd door FallenAngel666 op 09-11-2006 15:37:49 ] |
_Xbox_Master_ | donderdag 9 november 2006 @ 16:06 |
heel simpel 
grant { permission java.security.AllPermissions; };
Ik ga er morgen weer verder mee, ik heb echt genoeg code gezien vandaag  |
FallenAngel666 | donderdag 9 november 2006 @ 16:22 |
quote:Op donderdag 9 november 2006 16:06 schreef _Xbox_Master_ het volgende:heel simpel  grant { permission java.security.AllPermissions; }; Ik ga er morgen weer verder mee, ik heb echt genoeg code gezien vandaag  Ik neem aan dat die policy alleen tijdens ontwikkeling en testen gaat gebruiken?  |
rbwg | donderdag 9 november 2006 @ 18:05 |
quote: nog dank hiervoor. |
_Xbox_Master_ | donderdag 9 november 2006 @ 21:20 |
quote:Op donderdag 9 november 2006 16:22 schreef FallenAngel666 het volgende:[..] Ik neem aan dat die policy alleen tijdens ontwikkeling en testen gaat gebruiken?  Het is een schoolopdracht  Het is meer zodat we weten wat een policy file is  Maar het probleem is inmiddels opgelost Het bleek dat we de rmiregistry.exe moesten opstarten in de directory waar onze .class files ook staan. Dat zijn net van die dingen waar je in eerste instantie totaal niet aan denkt. Ondertussen hebben we een nieuw probleem waar we ons de rest van de middag op blind gestaard hebben maar daar ga ik morgen nog even naar kijken. |
kareltje_de_grote | vrijdag 22 december 2006 @ 12:36 |
Ik ben een beetje aan het klooien met robocode om ook maar eens wat JAVA te leren. Nu heb ik een sample robotje en wil deze compileren, maar blijkbaar heb ik m'n classpath niet goed staan.
De foutmeldingen:
1 2 3 | Error(4,1): cannot access directory robocode; verify that directory is reachable from classpath and/or sourcepath Error(12,35): class Robot not found in class sample.MyFirstRobot |
Dus ik heb het classpath (c:/robocode ?) toegevoegd aan m'n systeemvariabelen maar het probleem blijft of heb ik het verkeerde idee wat ze met een classpath bedoelen?
-edit- misschien handig om te vermelden, ik gebruik Oracle JDeveloper als editor. |
PietjePuk007 | woensdag 7 maart 2007 @ 22:17 |
*kick*
Is java ineens uit de aandacht van iedereen ? Geen vragen meer? Ik leer het nu sinds een aantal maanden op de uni. Heb de beginselen van het programmeren redelijk door en ben nu met het object-georienteerde bezig. Later dit jaar krijg ik nog een module om knoppen en GUI's te kunnen programmeren . |
Litpho | woensdag 7 maart 2007 @ 22:26 |
quote: Niemand heeft meer problemen blijkbaar . |
DenniZ224 | woensdag 10 december 2008 @ 13:59 |
Ik wil dit topic wel weer eens actief zien! |
Kerol | donderdag 12 maart 2009 @ 20:47 |
Sorry voor de gigantische kick maar ik heb een vraag 
Ik wil de eerste en tweede letter van een String overnemen als een nieuwe variabele. Bijvoorbeeld; Test wordt te
Hoe en met welke functie kan ik dit doen? Ik kom er echt totaal niet uit... |
#ANONIEM | donderdag 12 maart 2009 @ 22:45 |
quote:Op donderdag 12 maart 2009 20:47 schreef Kerol het volgende:Sorry voor de gigantische kick maar ik heb een vraag  Ik wil de eerste en tweede letter van een String overnemen als een nieuwe variabele. Bijvoorbeeld; Test wordt te Hoe en met welke functie kan ik dit doen? Ik kom er echt totaal niet uit... String functies
1 2 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) Copies characters from this string into the destination character array. |
[ Bericht 5% gewijzigd door #ANONIEM op 12-03-2009 22:45:43 ] |
Spike1506 | dinsdag 31 maart 2009 @ 12:06 |
quote:Op donderdag 12 maart 2009 20:47 schreef Kerol het volgende:Sorry voor de gigantische kick maar ik heb een vraag  Ik wil de eerste en tweede letter van een String overnemen als een nieuwe variabele. Bijvoorbeeld; Test wordt te Hoe en met welke functie kan ik dit doen? Ik kom er echt totaal niet uit... Kijk eens naar Manipulating Characters |