1 2 | 2 5 9 12 14 18 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | int index = -1; int verschil = array[0] - invoer; if(verschil < 0) -verschil; for(int i = 1; i < array.length; i++){ int x = array[i] - invoer; if(x < 0) -x; if(x <= verschil){ verschil = x; index = i; } } |
Als je dit goed wilt programmeren maakt het uit of je array gesorteerd is of niet.quote:Op zondag 8 januari 2006 19:25 schreef HuHu het volgende:
Om maar meteen te beginnen, een vraag van mijn kant. Ik heb een array met daarin 256 getallen. Nu wil in die array de positie van het getal vinden dat het dichtste bij bijvoorbeeld het getal 12 zit.
Voorbeeld:
[ code verwijderd ]
Nu heb ik bijvoorbeeld als invoer het getal 8. 8 zit het dichtste bij 5 en 9. Maar het dichtste bij 9. 9 zit op positie 3, dus de uitkomst is 3.
Hoe kan ik dit nu in Java programmeren?
Omzetten naar een *.exe is zeer lastig in Java. Wat wel kan is er een uitvoerbaar *.jar bestand van te maken. Wel is dan vereist dat de computer waarop het programma draait Java geinstalleerd heeft.quote:Op dinsdag 10 januari 2006 14:33 schreef Chimay het volgende:
We hebben nu bij informatica een administratieprogramma moeten maken,
is het eigenlijk mogelijk om via jcreator of een ander programma dat project om te zetten in een "executable file" (.exe)?
Jammer, ik kan me nog wel herinneren dat bij Turbo Pascal dit wel kon.quote:Op dinsdag 10 januari 2006 15:03 schreef HuHu het volgende:
[..]
Omzetten naar een *.exe is zeer lastig in Java. Wat wel kan is er een uitvoerbaar *.jar bestand van te maken. Wel is dan vereist dat de computer waarop het programma draait Java geinstalleerd heeft.
Even een zijdelings opmerking, let er wel op dat een array index niet bij 1 begint, zoals je dat hier schets, maar bij 0quote:Op zondag 8 januari 2006 19:25 schreef HuHu het volgende:
Om maar meteen te beginnen, een vraag van mijn kant. Ik heb een array met daarin 256 getallen. Nu wil in die array de positie van het getal vinden dat het dichtste bij bijvoorbeeld het getal 12 zit.
Voorbeeld:
[ code verwijderd ]
Nu heb ik bijvoorbeeld als invoer het getal 8. 8 zit het dichtste bij 5 en 9. Maar het dichtste bij 9. 9 zit op positie 3, dus de uitkomst is 3.
Hoe kan ik dit nu in Java programmeren?
Nee.quote:Op dinsdag 10 januari 2006 15:47 schreef Chimay het volgende:
[..]
Jammer, ik kan me nog wel herinneren dat bij Turbo Pascal dit wel kon.
Heeft het ook niet te maken met het feit dat Java een object georiënteerde programmeertaal is en met classes enzo werkt?
Het is mogelijk met jBuilder van Borland om een .exe bestand te maken. Dit wordt daar een native executable genoemd. Het is dan echter alleen mogelijk dit bestand uit te voeren op computers waar jBuilder op geinstalleerd staat. Het is dus verstandiger om gewoon een jar te maken en een .bat bestand er bij te voegen imo.quote:Op dinsdag 10 januari 2006 14:33 schreef Chimay het volgende:
We hebben nu bij informatica een administratieprogramma moeten maken,
is het eigenlijk mogelijk om via jcreator of een ander programma dat project om te zetten in een "executable file" (.exe)?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | { int index = 0; while(array[index] < getal) { index++; if(index >= 255) return 255; } if(index == 0) return 0; if(Math.abs(array[index] - getal) < Math.abs(array[index - 1] - getal)) return index; else return index - 1; } |
In MS J# kun je wel een exe ervan maken. Maar dan heb je wel het .NET framework nodig om het uit te voeren.quote:Op dinsdag 10 januari 2006 15:03 schreef HuHu het volgende:
[..]
Omzetten naar een *.exe is zeer lastig in Java. Wat wel kan is er een uitvoerbaar *.jar bestand van te maken. Wel is dan vereist dat de computer waarop het programma draait Java geinstalleerd heeft.
was het niet algemeen geaccepteerd dat men in java altijd accolades/braces gebruikt bij if/while/do statements etc. ? Het is sowieso een goede eigenschap, vind ik om deze altijd te gebruiken.quote:Op dinsdag 10 januari 2006 18:27 schreef HuHu het volgende:
Ik heb er dit van gemaakt, en dat werkt wel aardig volgens mij. De getallen in de array zijn inderdaad oplopend gesorteerd.
[ code verwijderd ]
Kwestie van voorkeur denk ik. Het is niet perse nodig bij een enkel statement (of combo daarvan) natuurlijk. Maar het overal plaatsen van de accolades is wel een goede eigenschap jaquote:Op dinsdag 10 januari 2006 19:34 schreef Wouske het volgende:
[..]
was het niet algemeen geaccepteerd dat men in java altijd accolades/braces gebruikt bij if/while/do statements etc. ? Het is sowieso een goede eigenschap, vind ik om deze altijd te gebruiken.
Tja, het is anders wel een goede gewoonte om consequent te zijn in die dingen, dan kan je je ook niet vergissen.quote:Op dinsdag 10 januari 2006 20:47 schreef HuHu het volgende:
Als je na een while / if / for méér dan 1 regel code in die lus wilt hebben, dan moet je accolades gebruiken. Dat doe ik ook bij de while.
Als je erna maar 1 regel code hebt, dan mag je ze gebruiken. Ik doe dat dus niet.
Het maakt in principe niets uit.
Altijd leuk als iemand vervolgens een regel toevoegt met de juiste inspringing, maar zonder de accolades toe te voegen en na een half uurtje vraagt of je even kan kijken waarom ie het niet doetquote:Op dinsdag 10 januari 2006 20:53 schreef Chimay het volgende:
[..]
Tja, het is anders wel een goede gewoonte om consequent te zijn in die dingen, dan kan je je ook niet vergissen.
Dan maar hopen dat je java editor automatisch de fouten zoekt bij het compilen.quote:Op dinsdag 10 januari 2006 20:59 schreef Litpho het volgende:
[..]
Altijd leuk als iemand vervolgens een regel toevoegt met de juiste inspringing, maar zonder de accolades toe te voegen en na een half uurtje vraagt of je even kan kijken waarom ie het niet doet.
Dat is alleen geen fout dus tenzij het ding slim is vind hij het nietquote:Op dinsdag 10 januari 2006 21:02 schreef Chimay het volgende:
[..]
Dan maar hopen dat je java editor automatisch de fouten zoekt bij het compilen.![]()
idd, gelukkig nog nooit zoiets meegemaaktquote:Op dinsdag 10 januari 2006 21:03 schreef Litpho het volgende:
[..]
Dat is alleen geen fout dus tenzij het ding slim is vind hij het niet.
Netjes, zal prima werken lijkt me. Alleen, al je arrays moeten nu wel (minstens) 256 getallen bevatten, anders krijg je een indexoutofboundsexception ehquote:Op dinsdag 10 januari 2006 18:27 schreef HuHu het volgende:
Ik heb er dit van gemaakt, en dat werkt wel aardig volgens mij. De getallen in de array zijn inderdaad oplopend gesorteerd.
[ code verwijderd ]
laat al maar, ik voer het wel vanuit jcreator uitquote:Op dinsdag 10 januari 2006 23:00 schreef Nietmachine het volgende:
[..]
Netjes, zal prima werken lijkt me. Alleen, al je arrays moeten nu wel (minstens) 256 getallen bevatten, anders krijg je een indexoutofboundsexception eh. Maar neem aan dat je array wel zoveel getallen bevat, anders was je wel al achter die fout gekomen
.
@ de vraag over het maken van een exe: je kunt wel een exe maken, alleen start die intern dan weer de .jar file op. Je kunt niet om de .jar file heen. Om deze exe te maken kun je gebruik maken van JSmooth (http://jsmooth.sourceforge.net/).
patserquote:Op dinsdag 10 januari 2006 20:18 schreef Wouske het volgende:
De meeste java projecten die ik ben tegengekomen sluiten zich allemaal aan bij de sun java code conventies of een lichte variatie daarop. Bijvoorbeeld alle jakarta projecten (apache java) beroepen zich ook op deze code conventies. In tegenstelling tot programmeertalen als C, wordt binnen de java gemeenschap code met een bijzonder accolade-gebrek toch als onaanvaardbare code beschouwd.
Ik zou de voorkeur geven aan een binary search. Jij wilt blijkbaar gewoon de array van voor tot achter doorlopen. Als je een beetje een grote array hebt of kunt hebben, kun je dat met een binary search veel efficienter doen.quote:Op dinsdag 10 januari 2006 18:27 schreef HuHu het volgende:
Ik heb er dit van gemaakt, en dat werkt wel aardig volgens mij. De getallen in de array zijn inderdaad oplopend gesorteerd.
[ code verwijderd ]
Heb je het over red black tree en dergelijke algoritmes? In Java zit volgens mij ook een voorgebakken priority_queue container. Lekker makkelijk sorteren: getallen erin proppen en ze staan op volgorde.quote:Op woensdag 11 januari 2006 00:32 schreef gday het volgende:
[..]
Ik zou de voorkeur geven aan een binary search. Jij wilt blijkbaar gewoon de array van voor tot achter doorlopen. Als je een beetje een grote array hebt of kunt hebben, kun je dat met een binary search veel efficienter doen.
Dat zei ik ook al in post 7. Alleen ik denk dat ik niet begrepen werd. Daarom heb ik ook maar een voorbeeldje gemaakt van een standaard binairy search. Deze search heb ik op het einde aangepastquote:Op woensdag 11 januari 2006 00:32 schreef gday het volgende:
Ik zou de voorkeur geven aan een binary search. Jij wilt blijkbaar gewoon de array van voor tot achter doorlopen. Als je een beetje een grote array hebt of kunt hebben, kun je dat met een binary search veel efficienter doen.
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 | private int giveMinDifference(int[] array, int searchValue) { int bot = -1; int top = array.length; while (top - bot > 1) { int mid = (top + bot)/2; if (array[mid] < searchValue) { bot = mid; } else { top = mid; } } /* tot zo ver is het standaard binairy search wat ik hier onder doe is in onze rij getallen 1 naar voren gaan en bekijk de volgende 3 getallen. Het getal met het kleinste verschil is je oplossing Ik doe dit omdat je niet precies de garantie hebt dat je op het getal uit komt met de waarde die het dichtste bij komt bij je gezochte waarde. Voor de mensen die het niet geloven dat deze laatste stap ook noodzakelijk is kan ik een voorbeeld geven */ top -=1; int dif = Math.abs(array[top]-searchValue); for(int i = 0;i<=2;i++) { int newDif = Math.abs(array[top+i]-searchValue); if ( newDif < dif ){ dif = newDif; } } return dif; } |
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 | import javax.swing.*; import java.awt.event.*; public class ButtonTest { public static void main(String[] args) { ButtonFrame frame = new ButtonFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } class ButtonFrame extends JFrame { public ButtonFrame() { setTitle("ButtonTest"); setSize(300, 200); ButtonPanel panel = new ButtonPanel(); add(panel); ButtonPanel2 panel2 = new ButtonPanel2(); add(panel2); } } class ButtonPanel extends JPanel { public ButtonPanel() { setLayout(null); setOpaque(false); //create buttons JButton yellowButton = new JButton("yellow"); //set location yellowButton.setBounds(10, 10, 50, 30); //add buttons to pane; add(yellowButton); } } class ButtonPanel2 extends JPanel { public ButtonPanel2() { setLayout(null); setOpaque(false); //create buttons JButton blueButton = new JButton("blue"); //set location blueButton.setBounds(10, 40, 50, 30); //add buttons to pane; add(blueButton); } } |
-edit-quote:Op zaterdag 14 januari 2006 16:07 schreef Sphere2k4 het volgende:
Ik heb een vraagje over transparantie van JPanels.
[ code verwijderd ]
Ik wil dat zowel ButtonPanel als ButtonPanel2 'doorzichtig' zijn. Hiermee bedoel ik dat hij alleen de componenten laat zien en geen background en dus de onderliggende layer ook deels zichtbaar is.
Hiervoor heb ik setOpaque(false) gebruikt wat zou moeten werken maar dat doet het niet.
Iemand die hier een oplossing voor heeft?
Zo'n combo zou ik ook wel fijn vinden ja. Daarom bleef ik ook nog lang bij BlueJ, vanwege die overzicht. Maar de traagheid en bugs hebben me doen besluiten om toch maar naar JCreator Pro te gaan. Die is echt veel fijner ook dan BlueJ, op het UML na dan. Magoed, de rest weegt daar wel tegenop.quote:Op donderdag 9 februari 2006 11:42 schreef Lod het volgende:
Mijn voorkeur gaat persoonlijk meer uit naar een combinatie van BlueJ en/of netbeans. Eclipse voelt erg traag aan om één of andere reden.
En van BlueJ vind ik de grafische presentatie (UML-achtig) en relaties van de klassen onderling erg handig/geinig.
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 | { tekst.setFont(Font("arial",18)); UitvoerVeld.setText(tekst); // to do: Vergroot de tekst } void NormaalButton_actionPerformed(java.awt.event.ActionEvent event) { UitvoerVeld.setText(tekst); // to do: code goes here. } void VetButton_actionPerformed(java.awt.event.ActionEvent event) { tekst.setFont(BOLD); UitvoerVeld.setText(tekst); // to do: code goes here. } } |
1 2 3 4 5 6 7 8 | tekst.setFont(Font("arial",18)); ^ Error: D:\Documents and Settings\naam\\Mijn documenten\School\Opdracht 21\Applet1.java(159): Undefined variable: BOLD tekst.setFont(BOLD); ^ 2 errors Build Failed |
1 2 3 4 5 6 7 8 | tekst.setFont( new Font("arial",18)); ^ Error: D:\Documents and Settings\Niek de Jonge\Mijn documenten\School\Opdracht 21\Applet1.java(159): Method setFont(int) not found in class java.lang.String. tekst.setFont(Font.BOLD); ^ 2 errors Build Failed |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | { tekst.setFont( new Font("arial",18)); UitvoerVeld.setText(tekst); // to do: Vergroot de tekst } void NormaalButton_actionPerformed(java.awt.event.ActionEvent event) { UitvoerVeld.setText(tekst); // to do: code goes here. } void VetButton_actionPerformed(java.awt.event.ActionEvent event) { tekst.setFont(Font.BOLD); UitvoerVeld.setText(tekst); // to do: code goes here. } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | void VergrootButton_actionPerformed(java.awt.event.ActionEvent event) { tekst.setFont(new Font("Arial", Font.BOLD, 18)); UitvoerVeld.setText(tekst); // to do: Vergroot de tekst } void NormaalButton_actionPerformed(java.awt.event.ActionEvent event) { UitvoerVeld.setText(tekst); // to do: code goes here. } void VetButton_actionPerformed(java.awt.event.ActionEvent event) { tekst.setFont(new Font("Arial", Font.BOLD, 18)); UitvoerVeld.setText(tekst); // to do: code goes here. } |
Hmm, Java is hoofdlettergevoelig.. heb je import met kleine letter ook geprobeerd?quote:Op zondag 12 februari 2006 18:46 schreef Messenga het volgende:
Dan kent hij "Import" niet.
Dat was ie alquote:Op zondag 12 februari 2006 18:47 schreef fallrite het volgende:
[..]
Hmm, Java is hoofdlettergevoelig.. heb je import met kleine letter ook geprobeerd?
1 2 3 4 5 6 | public class Opdrachtx { ..... } |
1 |
1 2 3 4 5 6 7 8 | tekst.setFont(new java.awt.Font.Font("Arial", Font.BOLD, 18)); ^ Error: D:\Documents and Settings\Niek de \Mijn documenten\School\Opdracht 21\Applet1.java(159): Method setFont(int) not found in class java.lang.String. tekst.setFont(Font.BOLD); ^ 2 errors Build Failed |
In VisualCafé, dat is gewoon bagger.quote:Op maandag 13 februari 2006 00:05 schreef Wouske het volgende:
Nou proficiat, waar zat nou 't probleem ??
Wij gebruikten dat op de middelbare school ook - om een beetje te pielen en knopjes neerzetten is het wel te doen maar verder zooit het met de code als gekquote:Op maandag 13 februari 2006 09:00 schreef HuHu het volgende:
[..]
In VisualCafé, dat is gewoon bagger.
[..]
1 2 | int[] array2 = {4,5,6}; |
Het zit niet default in Java. In Jakarta Commons Lang zit een class ArrayUtils die precies doet wat je wil, als volgt:quote:Op dinsdag 14 februari 2006 22:34 schreef H4ze het volgende:
Kan iemand mij vertellen hoe ik in Java twee arrays merge?In php is hier gewoon een functie voor, in java kan ik deze niet vinden. FF simpel voorbeeldje van hoe ik 't wil:
[ code verwijderd ]
Nu wil ik dus dat array3 bestaat uit {1,2,3,4,5,6}. Volgens mij moet dit echt heel simpel kunnen, maar ik kom er niet uit.
1 |
Oke beterquote:Op dinsdag 14 februari 2006 22:54 schreef Litpho het volgende:
[..]
Het zit niet default in Java. In Jakarta Commons Lang zit een class ArrayUtils die precies doet wat je wil, als volgt:
[ code verwijderd ]
Nee, je hoeft alleen de commons-lang-nogwat.jar in je classpath te zetten en vervolgens bovenaan je class import org.apache.commons.lang.ArrayUtils; te doen.quote:Op dinsdag 14 februari 2006 23:18 schreef H4ze het volgende:
[..]
Oke beterIk heb dat nu gedownload, alleen waar gooi ik die zooi nu precies? Ik geloof dat die org/apache/commons/lang map ergens in de JDK map moet toch? In bin lukt niet... Op die site kan ik niet echt een beschrijving vinden van hoe of wat voor n00bjes zoals mij
![]()
Daar heb ik ook al mee zitten kloten..maar dat lukte dus niet (kennelijk weet ik dus niet hoe ik er slim gebruik van kan makenquote:Op dinsdag 14 februari 2006 23:21 schreef FallenAngel666 het volgende:
Je kan eventueel ook slim gebruik maken van System.arraycopy()
Ah ja, dat kan ook. Niet direct de meest intuitieve code, maar daar hadden we documentatie voorquote:Op dinsdag 14 februari 2006 23:21 schreef FallenAngel666 het volgende:
Je kan eventueel ook slim gebruik maken van System.arraycopy()
via de commandlinequote:Op dinsdag 14 februari 2006 23:22 schreef Litpho het volgende:
[..]
Nee, je hoeft alleen de commons-lang-nogwat.jar in je classpath te zetten en vervolgens bovenaan je class import org.apache.commons.lang.ArrayUtils; te doen.
Gebruik je een editor (Eclipse, Netbeans, JBuilder) of compileer je je javacode van de command line?
Zou je me misschien met wat verder opweg kunnen helpen met arraycopy? Ik ben toch wel benieuwd hoe ik 't kan doen mbv die functie, aangezien ik daar al mee aan 't kloten was.quote:Op dinsdag 14 februari 2006 23:21 schreef FallenAngel666 het volgende:
Je kan eventueel ook slim gebruik maken van System.arraycopy()
Was ik al mee bezig. Het is het handigst om even met de hand de nieuwe array aan te maken en dan de twee arrays er achtereenvolgens in te kopieren.quote:Op dinsdag 14 februari 2006 23:29 schreef H4ze het volgende:
Zou je me misschien met wat verder opweg kunnen helpen met arraycopy? Ik ben toch wel benieuwd hoe ik 't kan doen mbv die functie, aangezien ik daar al mee aan 't kloten was.
1 2 3 4 5 6 7 | int[] array2 = new int[] { 4, 5, 6 }; int[] array3 = new int[array1.length + array2.length]; System.arraycopy(array1, 0, array3, 0, array1.length); System.arraycopy(array2, 0, array3, array1.length, array2.length); |
Het werktquote:Op dinsdag 14 februari 2006 23:33 schreef Litpho het volgende:
[..]
Was ik al mee bezig. Het is het handigst om even met de hand de nieuwe array aan te maken en dan de twee arrays er achtereenvolgens in te kopieren.
[ code verwijderd ]
Dat werkt prima. System.exit(int status) aldus de javadocquote:Op donderdag 16 februari 2006 12:27 schreef H4ze het volgende:
Hoe kan ik er in Java voor zorgen dat het uitvoeren van de 'rest' van de code helemaal stopt? In php kan die met die of exit, en ik dacht dat dit in java kon met System.exit(); maar dat werkt dus niet...
Ja idd..lag aan mijquote:Op donderdag 16 februari 2006 12:29 schreef Litpho het volgende:
[..]
Dat werkt prima. System.exit(int status) aldus de javadoc.
Ghehe ja daar was ik ook achter gekomenquote:Op donderdag 16 februari 2006 22:09 schreef Nietmachine het volgende:
Trouwens, je System.exit(int x) zorgt ervoor dat de virtual machine afsluit eh, ik weet niet precies wat je wilt met "de rest van de code niet meer uitvoeren" maar als het programma nog moet blijven draaien moet je kijken naar een return statement, of break / continue voor lussen.
Ja, dat weet ik. Maar verder weet ik niets zeker, dus ben ik maar voorzichtigquote:Op donderdag 16 februari 2006 23:28 schreef H4ze het volgende:
Mja je gebruikt dus gewoon Java code in Servlets![]()
Een Servlet is een Java klasse die de Servlet interface (J2EE SDK) implementeert niets meer of minder.quote:Op donderdag 16 februari 2006 23:35 schreef Nietmachine het volgende:
[..]
Ja, dat weet ik. Maar verder weet ik niets zeker, dus ben ik maar voorzichtig.
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 | } void TellerVeld_actionPerformed(java.awt.event.ActionEvent event) { // to do: code goes here. } void NoemerVeld_actionPerformed(java.awt.event.ActionEvent event) { // to do: code goes here. } void PlusButton_actionPerformed(java.awt.event.ActionEvent event) { String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n + t; UitkomstVeld.setText("" + u); // Hij doet de noemer + de teller en geeft de uitslag. } void MinButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n - t; UitkomstVeld.setText("" + u); // Hij doet de noemer - de teller en geeft vervolgens de uitslag. } void MaalButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n * t; UitkomstVeld.setText("" + u); // Hij vermenigvuldigd de noemer met de teller, en geeft vervolgens de uitslag. } void DeelButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n / t; UitkomstVeld.setText("" + u); // Hij deelt de noemer door de teller. en geeft vervolgens de uitslag. } |
Misschien een nog wat raardere vraag, maar voer je de applet wel uit ? Zit je niet per ongeluk in de editor te klikken bedoel ik...quote:Op vrijdag 24 februari 2006 20:32 schreef Messenga het volgende:
Dat gebeurt toch automatisch met Visual cafe?
Ja, ik voer hem uit:quote:Op vrijdag 24 februari 2006 20:36 schreef gelly het volgende:
[..]
Misschien een nog wat raardere vraag, maar voer je de applet wel uit ? Zit je niet per ongeluk in de editor te klikken bedoel ik...
Die Dollar tekens doet hiij automatisch, dat is ook al zoiets raarsquote:Op vrijdag 24 februari 2006 20:44 schreef fallrite het volgende:
Behoren die dollartekens ook tot de String die hij uit de Velden haalt? Want dan zou het kunnen dat ie bij parseInt bij het eerste teken er al mee kapt en een Exception geeft (die je niet gevangen hebt maar die nu misschien in een Visual Cafe debug venstertje honderd keer staat)..
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 | A basic extension of the java.applet.Applet class */ import java.awt.*; import java.applet.*; import com.symantec.itools.javax.swing.JCurrencyTextField; import com.symantec.itools.javax.swing.JWrappingLabel; import com.symantec.itools.javax.swing.actions.JActionButton; import com.symantec.itools.javax.swing.JBorderlessButton; public class Applet1 extends Applet { 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); setBackground(java.awt.Color.lightGray); setSize(637,413); add(TellerVeld); TellerVeld.setBounds(120,48,193,62); add(NoemerVeld); NoemerVeld.setBounds(120,180,193,62); add(UitkomstVeld); UitkomstVeld.setBounds(120,300,193,62); try { JWrappingLabel1.setText("Invoer Teller : "); } catch(java.beans.PropertyVetoException e) { } try { JWrappingLabel1.setTextAlignment(javax.swing.SwingConstants.CENTER); } catch(java.beans.PropertyVetoException e) { } add(JWrappingLabel1); JWrappingLabel1.setFont(new Font("Dialog", Font.PLAIN, 20)); JWrappingLabel1.setBounds(12,48,84,60); try { JWrappingLabel2.setText("Invoer noemer : "); } catch(java.beans.PropertyVetoException e) { } try { JWrappingLabel2.setTextAlignment(javax.swing.SwingConstants.CENTER); } catch(java.beans.PropertyVetoException e) { } add(JWrappingLabel2); JWrappingLabel2.setFont(new Font("Dialog", Font.PLAIN, 20)); JWrappingLabel2.setBounds(12,180,84,72); try { JWrappingLabel3.setText("Uitkomst : "); } catch(java.beans.PropertyVetoException e) { } try { JWrappingLabel3.setTextAlignment(javax.swing.SwingConstants.CENTER); } catch(java.beans.PropertyVetoException e) { } add(JWrappingLabel3); JWrappingLabel3.setFont(new Font("Dialog", Font.PLAIN, 20)); JWrappingLabel3.setBounds(12,312,84,36); PlusButton.setText("+"); add(PlusButton); PlusButton.setBounds(360,312,51,53); MinButton.setText("-"); add(MinButton); MinButton.setBounds(432,312,51,53); MaalButton.setText("X"); add(MaalButton); MaalButton.setBounds(504,312,51,53); DeelButton.setText(":"); add(DeelButton); DeelButton.setBounds(576,312,51,53); //}} //{{REGISTER_LISTENERS SymAction lSymAction = new SymAction(); TellerVeld.addActionListener(lSymAction); NoemerVeld.addActionListener(lSymAction); PlusButton.addActionListener(lSymAction); MinButton.addActionListener(lSymAction); MaalButton.addActionListener(lSymAction); DeelButton.addActionListener(lSymAction); //}} } //{{DECLARE_CONTROLS com.symantec.itools.javax.swing.JCurrencyTextField TellerVeld = new com.symantec.itools.javax.swing.JCurrencyTextField(); com.symantec.itools.javax.swing.JCurrencyTextField NoemerVeld = new com.symantec.itools.javax.swing.JCurrencyTextField(); com.symantec.itools.javax.swing.JCurrencyTextField UitkomstVeld = new com.symantec.itools.javax.swing.JCurrencyTextField(); com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel1 = new com.symantec.itools.javax.swing.JWrappingLabel(); com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel2 = new com.symantec.itools.javax.swing.JWrappingLabel(); com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel3 = new com.symantec.itools.javax.swing.JWrappingLabel(); com.symantec.itools.javax.swing.JBorderlessButton PlusButton = new com.symantec.itools.javax.swing.JBorderlessButton(); com.symantec.itools.javax.swing.JBorderlessButton MinButton = new com.symantec.itools.javax.swing.JBorderlessButton(); com.symantec.itools.javax.swing.JBorderlessButton MaalButton = new com.symantec.itools.javax.swing.JBorderlessButton(); com.symantec.itools.javax.swing.JBorderlessButton DeelButton = new com.symantec.itools.javax.swing.JBorderlessButton(); //}} class SymAction implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent event) { Object object = event.getSource(); if (object == TellerVeld) TellerVeld_actionPerformed(event); else if (object == NoemerVeld) NoemerVeld_actionPerformed(event); else if (object == PlusButton) PlusButton_actionPerformed(event); else if (object == MinButton) MinButton_actionPerformed(event); else if (object == MaalButton) MaalButton_actionPerformed(event); else if (object == DeelButton) DeelButton_actionPerformed(event); } } void TellerVeld_actionPerformed(java.awt.event.ActionEvent event) { // to do: code goes here. } void NoemerVeld_actionPerformed(java.awt.event.ActionEvent event) { // to do: code goes here. } void PlusButton_actionPerformed(java.awt.event.ActionEvent event) { String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n + t; UitkomstVeld.setText("" + u); // Hij doet de noemer + de teller en geeft de uitslag. } void MinButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n - t; UitkomstVeld.setText("" + u); // Hij doet de noemer - de teller en geeft vervolgens de uitslag. } void MaalButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n * t; UitkomstVeld.setText("" + u); // Hij vermenigvuldigd de noemer met de teller, en geeft vervolgens de uitslag. } void DeelButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n / t; UitkomstVeld.setText("" + u); // Hij deelt de noemer door de teller. en geeft vervolgens de uitslag. } } |
Ja, code is idd niks maja, da's Visual Cafe eigenquote:Op vrijdag 24 februari 2006 22:33 schreef gelly het volgende:
Maar is dat de code die VisualCafe ervan maakt joh ? Wat een zooi.
Heb je niet toevallig een vinkje aangezet (of wat aanstond) toen je de velden neerzette? Want nu hebben al die velden de eigenschap dat ze currency velden zijn terwijl je eigenlijk gewone textfields wilt. Je zou dit handmatig kunnen veranderen maar is er niet in de lijst met opties die je bij zo'n veld hebt een vinkje wat je uit kan zetten om dat te veranderen?quote:Op vrijdag 24 februari 2006 22:50 schreef Messenga het volgende:
Ik zou het het liefst ook anders doen, maar dat mag niet.
hoe los ik het nu op?
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 | // to do: code goes here. } void PlusButton_actionPerformed(java.awt.event.ActionEvent event) { String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n + t; UitkomstVeld.setText("" + u); // Hij doet de noemer + de teller en geeft de uitslag. } void MinButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n - t; UitkomstVeld.setText("" + u); // Hij doet de noemer - de teller en geeft vervolgens de uitslag. } void MaalButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n * t; UitkomstVeld.setText("" + u); // Hij vermenigvuldigd de noemer met de teller, en geeft vervolgens de uitslag. } void DeelButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n / t; UitkomstVeld.setText("" + u); // Hij deelt de noemer door de teller. en geeft vervolgens de uitslag. } } |
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 | A basic extension of the java.applet.Applet class */ import java.awt.*; import java.applet.*; import com.symantec.itools.javax.swing.JBox; import com.symantec.itools.javax.swing.JCurrencyTextField; import com.symantec.itools.javax.swing.JMaskedTextField; import com.symantec.itools.javax.swing.JBorderlessButton; import com.symantec.itools.javax.swing.JWrappingLabel; import com.symantec.itools.javax.swing.actions.JActionButton; public class Applet1 extends Applet { 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(623,504); add(NoemerVeld); NoemerVeld.setBounds(144,228,144,36); try { JWrappingLabel1.setText("Invoer Teller"); } catch(java.beans.PropertyVetoException e) { } try { JWrappingLabel1.setTextAlignment(javax.swing.SwingConstants.CENTER); } catch(java.beans.PropertyVetoException e) { } add(JWrappingLabel1); JWrappingLabel1.setFont(new Font("Dialog", Font.BOLD, 20)); JWrappingLabel1.setBounds(24,84,85,72); try { JWrappingLabel2.setText("Invoer Noemer"); } catch(java.beans.PropertyVetoException e) { } try { JWrappingLabel2.setTextAlignment(javax.swing.SwingConstants.CENTER); } catch(java.beans.PropertyVetoException e) { } add(JWrappingLabel2); JWrappingLabel2.setFont(new Font("Dialog", Font.BOLD, 20)); JWrappingLabel2.setBounds(36,216,85,72); try { JWrappingLabel3.setText("Uitkomst"); } catch(java.beans.PropertyVetoException e) { } try { JWrappingLabel3.setTextAlignment(javax.swing.SwingConstants.CENTER); } catch(java.beans.PropertyVetoException e) { } add(JWrappingLabel3); JWrappingLabel3.setFont(new Font("Dialog", Font.BOLD, 20)); JWrappingLabel3.setBounds(24,372,95,42); add(UitkomstVeld); UitkomstVeld.setBounds(144,360,144,48); add(TellerVeld); TellerVeld.setBounds(132,108,144,36); MinButton.setText("-"); add(MinButton); MinButton.setBounds(432,360,48,48); MaalButton.setText("X"); add(MaalButton); MaalButton.setBounds(492,360,48,48); DeelButton.setText(":"); add(DeelButton); DeelButton.setBounds(552,360,48,48); PlusButton.setText("+"); add(PlusButton); PlusButton.setBounds(360,360,48,48); add(NoemerVeld); //}} } //{{DECLARE_CONTROLS com.symantec.itools.javax.swing.JCurrencyTextField NoemerVeld = new com.symantec.itools.javax.swing.JCurrencyTextField(); com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel1 = new com.symantec.itools.javax.swing.JWrappingLabel(); com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel2 = new com.symantec.itools.javax.swing.JWrappingLabel(); com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel3 = new com.symantec.itools.javax.swing.JWrappingLabel(); com.symantec.itools.javax.swing.JCurrencyTextField UitkomstVeld = new com.symantec.itools.javax.swing.JCurrencyTextField(); com.symantec.itools.javax.swing.JCurrencyTextField TellerVeld = new com.symantec.itools.javax.swing.JCurrencyTextField(); com.symantec.itools.javax.swing.JBorderlessButton MinButton = new com.symantec.itools.javax.swing.JBorderlessButton(); com.symantec.itools.javax.swing.JBorderlessButton MaalButton = new com.symantec.itools.javax.swing.JBorderlessButton(); com.symantec.itools.javax.swing.JBorderlessButton DeelButton = new com.symantec.itools.javax.swing.JBorderlessButton(); com.symantec.itools.javax.swing.JBorderlessButton PlusButton = new com.symantec.itools.javax.swing.JBorderlessButton(); //}} void TellerVeld_actionPerformed(java.awt.event.ActionEvent event) { // to do: code goes here. } void NoemerVeld_actionPerformed(java.awt.event.ActionEvent event) { // to do: code goes here. } void PlusButton_actionPerformed(java.awt.event.ActionEvent event) { String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n + t; UitkomstVeld.setText("" + u); // Hij doet de noemer + de teller en geeft de uitslag. } void MinButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n - t; UitkomstVeld.setText("" + u); // Hij doet de noemer - de teller en geeft vervolgens de uitslag. } void MaalButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n * t; UitkomstVeld.setText("" + u); // Hij vermenigvuldigd de noemer met de teller, en geeft vervolgens de uitslag. } void DeelButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n / t; UitkomstVeld.setText("" + u); // Hij deelt de noemer door de teller. en geeft vervolgens de uitslag. } } |
1 |
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 | A basic extension of the java.applet.Applet class */ import java.awt.*; import java.applet.*; import com.symantec.itools.javax.swing.JBox; import com.symantec.itools.javax.swing.JCurrencyTextField; import com.symantec.itools.javax.swing.JMaskedTextField; import com.symantec.itools.javax.swing.JBorderlessButton; import com.symantec.itools.javax.swing.JWrappingLabel; import com.symantec.itools.javax.swing.actions.JActionButton; public class Applet1 extends Applet { 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(623,504); try { JWrappingLabel1.setText("Invoer Teller"); } catch(java.beans.PropertyVetoException e) { } try { JWrappingLabel1.setTextAlignment(javax.swing.SwingConstants.CENTER); } catch(java.beans.PropertyVetoException e) { } add(JWrappingLabel1); JWrappingLabel1.setFont(new Font("Dialog", Font.BOLD, 20)); JWrappingLabel1.setBounds(24,84,85,72); try { JWrappingLabel2.setText("Invoer Noemer"); } catch(java.beans.PropertyVetoException e) { } try { JWrappingLabel2.setTextAlignment(javax.swing.SwingConstants.CENTER); } catch(java.beans.PropertyVetoException e) { } add(JWrappingLabel2); JWrappingLabel2.setFont(new Font("Dialog", Font.BOLD, 20)); JWrappingLabel2.setBounds(36,216,85,72); try { JWrappingLabel3.setText("Uitkomst"); } catch(java.beans.PropertyVetoException e) { } try { JWrappingLabel3.setTextAlignment(javax.swing.SwingConstants.CENTER); } catch(java.beans.PropertyVetoException e) { } add(JWrappingLabel3); JWrappingLabel3.setFont(new Font("Dialog", Font.BOLD, 20)); JWrappingLabel3.setBounds(24,372,95,42); MinButton.setText("-"); add(MinButton); MinButton.setBounds(432,360,48,48); MaalButton.setText("X"); add(MaalButton); MaalButton.setBounds(492,360,48,48); DeelButton.setText(":"); add(DeelButton); DeelButton.setBounds(552,360,48,48); PlusButton.setText("+"); add(PlusButton); PlusButton.setBounds(360,360,48,48); add(TellerVeld); TellerVeld.setBounds(144,84,205,56); add(NoemerVeld); NoemerVeld.setBounds(144,216,205,56); add(UitkomstVeld); UitkomstVeld.setBounds(132,360,205,56); //}} } //{{DECLARE_CONTROLS com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel1 = new com.symantec.itools.javax.swing.JWrappingLabel(); com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel2 = new com.symantec.itools.javax.swing.JWrappingLabel(); com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel3 = new com.symantec.itools.javax.swing.JWrappingLabel(); com.symantec.itools.javax.swing.JBorderlessButton MinButton = new com.symantec.itools.javax.swing.JBorderlessButton(); com.symantec.itools.javax.swing.JBorderlessButton MaalButton = new com.symantec.itools.javax.swing.JBorderlessButton(); com.symantec.itools.javax.swing.JBorderlessButton DeelButton = new com.symantec.itools.javax.swing.JBorderlessButton(); com.symantec.itools.javax.swing.JBorderlessButton PlusButton = new com.symantec.itools.javax.swing.JBorderlessButton(); com.symantec.itools.javax.swing.JMaskedTextField TellerVeld = new com.symantec.itools.javax.swing.JMaskedTextField(); com.symantec.itools.javax.swing.JMaskedTextField NoemerVeld = new com.symantec.itools.javax.swing.JMaskedTextField(); com.symantec.itools.javax.swing.JMaskedTextField UitkomstVeld = new com.symantec.itools.javax.swing.JMaskedTextField(); //}} void TellerVeld_actionPerformed(java.awt.event.ActionEvent event) { // to do: code goes here. } void NoemerVeld_actionPerformed(java.awt.event.ActionEvent event) { // to do: code goes here. } void PlusButton_actionPerformed(java.awt.event.ActionEvent event) { String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n + t; UitkomstVeld.setText("" + u); // Hij doet de noemer + de teller en geeft de uitslag. } void MinButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n - t; UitkomstVeld.setText("" + u); // Hij doet de noemer - de teller en geeft vervolgens de uitslag. } void MaalButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n * t; UitkomstVeld.setText("" + u); // Hij vermenigvuldigd de noemer met de teller, en geeft vervolgens de uitslag. } void DeelButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n / t; UitkomstVeld.setText("" + u); // Hij deelt de noemer door de teller. en geeft vervolgens de uitslag. } } |
Visual cafequote:Op maandag 27 februari 2006 18:56 schreef gelly het volgende:
[ code verwijderd ]
![]()
Maakt VisualCafe dat ervan of jij ?
Dat is het nare, die troep geeft die standaardquote:Op maandag 27 februari 2006 19:01 schreef gelly het volgende:
Kun je enkel die Symantec componenten gebruiken bij het ontwerpen of ook gewoon de standaard API zoals java.awt of javax.swing ?
Daar zit het probleem namelijk, je probeert een string uit zo'n veld om te zetten naar int, en dat wil niet omdat er alfanummerieke tekens in staan.
Probeer hetquote:Op maandag 27 februari 2006 19:02 schreef gelly het volgende:
Ik zou bijna dat rottige VC downloaden om het te bekijken
Maar in het componentenmenu kun je niet kiezen uit AWT of Swing componenten ? Dat lijkt me toch sterk..quote:Op maandag 27 februari 2006 19:04 schreef Messenga het volgende:
[..]
Dat is het nare, die troep geeft die standaard.
[..]
Serieus?quote:
Dat klopt, van de lerares leren we dan standaard AWT Applet aan te klikkenquote:Op maandag 27 februari 2006 19:06 schreef gelly het volgende:
[..]
Maar in het componentenmenu kun je niet kiezen uit AWT of Swing componenten ? Dat lijkt me toch sterk..
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 | A basic extension of the java.applet.Applet class */ import java.awt.*; import java.applet.*; public class Applet1 extends Applet { 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(632,522); add(TellerVeld); TellerVeld.setBounds(36,60,319,71); add(NoemerVeld); NoemerVeld.setBounds(36,168,319,71); add(UitkomstVeld); UitkomstVeld.setBounds(36,324,192,71); PlusButton.setLabel("+"); add(PlusButton); PlusButton.setBackground(java.awt.Color.lightGray); PlusButton.setBounds(300,324,72,72); MinButton.setLabel("-"); add(MinButton); MinButton.setBackground(java.awt.Color.lightGray); MinButton.setBounds(396,324,60,72); MaalButton.setLabel("X"); add(MaalButton); MaalButton.setBackground(java.awt.Color.lightGray); MaalButton.setBounds(480,324,60,72); DeelButton.setLabel(":"); add(DeelButton); DeelButton.setBackground(java.awt.Color.lightGray); DeelButton.setBounds(564,324,60,72); //}} } //{{DECLARE_CONTROLS java.awt.TextField TellerVeld = new java.awt.TextField(); java.awt.TextField NoemerVeld = new java.awt.TextField(); java.awt.TextField UitkomstVeld = new java.awt.TextField(); java.awt.Button PlusButton = new java.awt.Button(); java.awt.Button MinButton = new java.awt.Button(); java.awt.Button MaalButton = new java.awt.Button(); java.awt.Button DeelButton = new java.awt.Button(); //}} void TellerVeld_actionPerformed(java.awt.event.ActionEvent event) { // to do: code goes here. } void NoemerVeld_actionPerformed(java.awt.event.ActionEvent event) { // to do: code goes here. } void PlusButton_actionPerformed(java.awt.event.ActionEvent event) { String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n + t; UitkomstVeld.setText("" + u); // Hij doet de noemer + de teller en geeft de uitslag. } void MinButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n - t; UitkomstVeld.setText("" + u); // Hij doet de noemer - de teller en geeft vervolgens de uitslag. } void MaalButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n * t; UitkomstVeld.setText("" + u); // Hij vermenigvuldigd de noemer met de teller, en geeft vervolgens de uitslag. } void DeelButton_actionPerformed(java.awt.event.ActionEvent event) {String noemer = NoemerVeld.getText(); String teller = TellerVeld.getText(); int n = Integer.parseInt(noemer); int t = Integer.parseInt(teller); int u = n / t; UitkomstVeld.setText("" + u); // Hij deelt de noemer door de teller. en geeft vervolgens de uitslag. } |
Zover was ik nog welquote:Op maandag 27 februari 2006 21:00 schreef CrustyClown het volgende:
Onder de knop hang je een action listener die de het getal uit het boxje leest. Deze kun je nog controleren met isNumeric (weet de precieze methode niet). Vervolgens laat je dit getal in een for loopje in de listbox weergeven. Dat is de code die je wilt programmeren. NU de java uitwerking nog
1 2 3 4 5 6 7 8 9 10 | int basis = Integer.parseInt(invoerVeld.getText()); for (int i=1; i <= 10; i++ ) { uitvoerTextVeld.append("" + i + " * " + basis +" = " + (basis * i)); } } |
1 2 3 | (*) ("" + n + " * " + m + " = " n*m) } |
1 2 3 | (*) ("" + n*m) } |
Werkt bijnaquote:
quote:Error: D:\VisualCafeSE\bin\TempPrj0\Applet1.java(64): Method append(java.lang.String) not found in class java.awt.TextField.
UitvoerVeld.append("" + i + " * " + basis +" = " + (basis * i));
^
1 error
Build Failed
Ah okequote:Op maandag 27 februari 2006 21:17 schreef gelly het volgende:
Het moet ook een textArea zijn he..
hehe, het werkt nuquote:Op maandag 27 februari 2006 21:19 schreef gelly het volgende:
Of had je het tekstveld uit zitten rekken om het zo groot te krijgen
uitvoerTextVeld.append("" + i + " * " + basis +" = " + (basis * i)+"\n");quote:Op maandag 27 februari 2006 21:21 schreef Messenga het volgende:
[..]
hehe, het werkt nu
Maar nu krijg ik dit soort :
1 * 5 = 52 * 5 = 103 * 5 = 154 * 5 = 205 * 5 = 256 * 5 = 307 * 5 = 358 * 5 = 409 * 5 = 4510 * 5 = 50
Terwijl ik gewoon een lijstje moet hebebn van :
1*5 =5
2*5=10
etc
Ja, die "\n"zorgt voor een harde return.quote:Op maandag 27 februari 2006 21:29 schreef gelly het volgende:
Nee, ik bedoel, snap je wel wat je doet ?
Ik doelde meer op b.v. de for-loop .. Het zijn namelijk vrij standaard dingetjes in Java..quote:Op maandag 27 februari 2006 21:33 schreef Messenga het volgende:
[..]
Ja, die "\n"zorgt voor een harde return.
Ja, dat begrijp ik.quote:Op maandag 27 februari 2006 21:34 schreef gelly het volgende:
[..]
Ik doelde meer op b.v. de for-loop .. Het zijn namelijk vrij standaard dingetjes in Java..
Die hoofdletters had ik nog niet gezien, veranderd maar de fouten blijven.quote:Op dinsdag 28 februari 2006 22:31 schreef gelly het volgende:
Let eens op hoofdlettergebruik .. je gebruikt zowel PostorderBedrijf als Postorderbedrijf. En heb je wel een klasse GUI gemaakt ?
wat bedoel je daar precies mee?quote:Op dinsdag 28 februari 2006 22:39 schreef gelly het volgende:
Heb je wel een package declaratie in de code van de classes staan ? Anders moet je ze importeren...
in dezelfde mapquote:Op dinsdag 28 februari 2006 22:49 schreef Scorpie het volgende:
waar staat je PostorderBedrijf class?
Daar geeft ie geen foutmeldingen op dus ik kan aannemen dat de packages goed zijn?quote:Op dinsdag 28 februari 2006 22:51 schreef gelly het volgende:
Zet eens in alle classes bovenaan package testpackage;
En zet alle bestanden dan in een directory die zo heet.
Door er een package van te maken zorg je ervoor dat de classes elkaar kunnen "zien". Je moet het uiteraard nog wel testen...quote:Op dinsdag 28 februari 2006 22:55 schreef _Xbox_Master_ het volgende:
[..]
Daar geeft ie geen foutmeldingen op dus ik kan aannemen dat de packages goed zijn?
Als ze allemaal packageloos zijn staan ze in de default package en kunnen ze elkaar ook "zien". Niet netjes natuurlijk, maar voor de gemiddelde huiswerkopdracht van veertig regels goed genoeg.quote:Op dinsdag 28 februari 2006 22:59 schreef gelly het volgende:
[..]
Door er een package van te maken zorg je ervoor dat de classes elkaar kunnen "zien". Je moet het uiteraard nog wel testen...
Ik doe het altijd standaardquote:Op dinsdag 28 februari 2006 23:00 schreef Litpho het volgende:
[..]
Als ze allemaal packageloos zijn staan ze in de default package en kunnen ze elkaar ook "zien". Niet netjes natuurlijk, maar voor de gemiddelde huiswerkopdracht van veertig regels goed genoeg.
ah ok, ik snap hetquote:Op dinsdag 28 februari 2006 22:59 schreef gelly het volgende:
[..]
Door er een package van te maken zorg je ervoor dat de classes elkaar kunnen "zien". Je moet het uiteraard nog wel testen...
1 2 3 4 5 6 7 8 9 10 | import nl.hen.ict.assertion.Assertion; import nl.hen.ict.gui.*; public class Apl{ public static void main(String[] args) { PostorderBedrijf POB = new PostorderBedrijf(); GUI pobGUI = new GUI(POB); } } |
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 | import java.util.*; import nl.hen.ict.gui.*; public class GUI implements UseCaseHandler { private PostorderBedrijf postorderbedrijf; public GUI(PostorderBedrijf ditPOB) { postorderbedrijf = ditPOB; UseCase useCase = new UseCase("Opgave Bank A", this); useCase.addUseCase("Voeg Klant toe"); useCase.addUseCase("Voeg Artikel toe"); useCase.addUseCase("Bestel Artikel"); useCase.addUseCase("Laat Schuld Klant zien"); useCase.addUseCase("Laat Totale schuld van Alle Klanten zien"); useCase.show(); } public void handleUseCase(String useCaseName) { //must be implemented if (useCaseName.equals("Voeg Klant toe")) { VoegKlantToe(); } else { if (useCaseName.equals("Voeg Artikel toe")) { VoegArtikelToe(); } else { if (useCaseName.equals("Bestel Artikel")) { BestelArtikel(); } else { if (useCaseName.equals("Laat Schuld Klant zien")) { OverzichtSchuld(); } else { if (useCaseName.equals("Laat Totale schuld van Alle Klanten zien")) { TotaleSchuld(); } } } } } } private void VoegKlantToe() { Questioner questioner = new Questioner("Invoer nieuwe Klant"); questioner.addString("Naam",""); boolean validInput = false; while (!validInput && !questioner.isCancelled()) { questioner.show(); if (questioner.isOk()) { String naam = questioner.getString("Naam"); postorderbedrijf.voegKlantToe(naam); // geen controle op dubbelingen validInput = true; } } } public void VoegArtikelToe() { Questioner questioner = new Questioner("Invoer nieuw Artikel"); questioner.addInt("Artikelnummer", 1000); questioner.addInt("Prijs", 0); questioner.addString("Omschrijving",""); boolean validInput = false; while (!validInput && !questioner.isCancelled()) { questioner.show(); if (questioner.isOk()) { int artikelnummer = questioner.getInt("Artikelnummer"); int prijs = questioner.getInt("Prijs"); String omschrijving = questioner.getString("Omschrijving"); postorderbedrijf.VoegArtikelToe(artikelnummer, prijs, omschrijving); // geen controle op dubbelingen validInput = true; } } } public void BestelArtikel() { Questioner questioner = new Questioner("Bestel Artikel"); questioner.addInt("Artikelnummer", 1000); questioner.addString("Klantnaam",""); boolean validInput = false; while (!validInput && !questioner.isCancelled()) { questioner.show(); if (questioner.isOk()) { int artikelnummer = questioner.getInt("Artikelnummer"); String naam = questioner.getString("Klantnaam"); Klant klant = postorderbedrijf.geefKlant(naam); // geen controle op dubbelingen Artikel artikel = postorderbedrijf.geefArtikel(artikelnummer); klant.bestel(artikel); validInput = true; } } } public void OverzichtSchuld() { Questioner questioner = new Questioner("Overzicht schuld"); questioner.addString("Klantnaam",""); boolean validInput = false; while (!validInput && !questioner.isCancelled()) { questioner.show(); if(questioner.isOk()) { String naam = questioner.getString("Klantnaam"); Klant klant = postorderbedrijf.geefKlant(naam); int bedrag = klant.schuld(); Reporter reporter = new Reporter("Overzicht Schuld", 10, 40); reporter.println("De schuld van "+naam+" is: " +bedrag); reporter.show(); validInput = true; } } } public void TotaleSchuld() { Reporter reporter = new Reporter("Totale Schuld", 10, 80); int bedrag = postorderbedrijf.schuldKlanten(); reporter.println("Schuld alle Klanten: "+bedrag); reporter.show(); } } |
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 | import nl.hen.ict.gui.*; import nl.hen.ict.assertion.Assertion; class PostorderBedrijf { private Map <Klant> klanten = new HashMap <Klant> (); private Map <Artikel> artikelen = new HashMap <Artikel> (); public PostorderBedrijf() { } public void voegKlantToe(String deNaam) { Assertion.require(deNaam != null, "Er is geen naam meegegeven"); Klant deKlant = new Klant(deNaam); klanten.put(deNaam, deKlant); } public void voegArtikelToe(int hetNummer, double dePrijs, String omschrijving) { Assertion.require(hetNummer != 0 && dePrijs != 0, "Er is geen prijs of nummer meegegeven"); Artikel hetArtikel = new Artikel(hetNummer, dePrijs, omschrijving); artikelen.put(hetNummer, hetArtikel); } public int schuldKlanten() { Iterator i = klanten.values().iterator(); Klant deKlant; int totaal = 0; while(i.hasNext()) { deKlant = (Klant) i.next(); bedrag = deKlant.schuld(); totaal = totaal + bedrag; } return totaal; } public Klant geefKlant(String naam) { Klant klant = (Klant) klanten.get(naam); return Klant; } public Artikel geefArtikel(int hetNummer) { Artikel artikel = (Artikel) artikelen.get(nummer); return artikel; } } |
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 | import java.util.*; import nl.hen.ict.gui.*; class Artikel { private int artikelnummer; private int prijs; private String omschrijving; public Artikel(int hetNummer, int dePrijs, String deOmschrijving) { Assertion.require(hetNummer > 1000 && hetNummer <= 9999, "Artikelnummer is niet goed"); Assertion.require(dePrijs >= 0, "Geen prijs opgegeven"); artikelnummer = hetNummer; prijs = dePrijs; omschrijving = deOmschrijving; Assertion.ensure(artikelnummer == hetNummer && prijs == dePrijs, "Artikelnummer en prijs niet correct"); } public int getPrijs() { return prijs; } public String getOmschrijving() { return omschrijving; } } |
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 | import nl.hen.ict.assertion.Assertion; import nl.hen.ict.gui.*; class Klant { private String naam; private Map <Bestelling> bestellingen = new HashMap <Bestelling> (); private int schuld; public Klant(String deNaam) { Assertion.require(deNaam != null, "Er is geen naam meegegeven"); naam = deNaam; Assertion.ensure(naam.equals(deNaam), "Naam is correct"); } public void bestel(Artikel eenArtikel) { Assertion.require(eenArtikel != null, "Er is geen Artikel meegegeven"); int bestelnummer = getLaatsteBestelNummer() + 1; Bestelling deBestelling = new Bestelling(eenArtikel, bestelnummer); bestellingen.put(bestelnummer, eenArtikel); } public int schuld() { Bestelling bestelling; Iterator i = bestellingen.values().iterator(); while(i.hasNext() ) { bestelling = (Bestelling) i.next(); int bedrag = bestelling.getKosten(); schuldklant = schuld + bedrag; } return schuldklant; } public int getLaatsteBestelNummer() { Iterator i = bestellingen.values().iterator(); Bestelling bestelling; while(i.hasNext()) { bestelling = (Bestelling)i.next(); int nummer = bestelling.getBestelnummer(); } return nummer; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import nl.hen.ict.assertion.Assertion; import nl.hen.ict.gui.*; class Bestelling { private int bestelnummer; private Artikel artikel; public Bestelling(int hetBestelnummer, Artikel hetArtikel) { bestelnummer = hetBestelnummer; artikel = hetArtikel; } public int getBestelnummer() { return bestelnummer; } public int getKosten() { int bedrag = artikel.getPrijs(); return bedrag; } } |
zonder deze regel: package testpackage;quote:Op dinsdag 28 februari 2006 23:25 schreef gelly het volgende:
Is dat de oude of nieuwe code ?
Mijn classpath verwijst naar de dir waar de nl.hen.ict packages staan die ik overal importeer.quote:Op dinsdag 28 februari 2006 23:38 schreef gelly het volgende:
En je ClassPath verwijst ook naar de dir waar de classes staan ?
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 | A basic extension of the java.applet.Applet class */ import java.awt.*; import java.applet.*; public class Applet1 extends Applet { 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); setBackground(java.awt.Color.lightGray); setSize(426,266); add(decimaalGetalVeld); decimaalGetalVeld.setBounds(228,48,132,42); add(binairGetalVeld); binairGetalVeld.setBounds(228,120,132,42); ConversieButton.setLabel("Decimaal -> Binair"); add(ConversieButton); ConversieButton.setBackground(java.awt.Color.lightGray); ConversieButton.setBounds(36,192,168,49); label1.setText("Decimaal Getal"); add(label1); label1.setFont(new Font("Dialog", Font.PLAIN, 20)); label1.setBounds(24,48,161,34); label2.setText("Binair Getal : "); add(label2); label2.setFont(new Font("Dialog", Font.PLAIN, 20)); label2.setBounds(24,120,161,34); BinDecButton.setLabel("Binair -> Decimaal"); add(BinDecButton); BinDecButton.setBackground(java.awt.Color.lightGray); BinDecButton.setBounds(228,192,168,49); //}} //{{REGISTER_LISTENERS SymAction lSymAction = new SymAction(); ConversieButton.addActionListener(lSymAction); BinDecButton.addActionListener(lSymAction); //}} } //{{DECLARE_CONTROLS java.awt.TextField decimaalGetalVeld = new java.awt.TextField(); java.awt.TextField binairGetalVeld = new java.awt.TextField(); java.awt.Button ConversieButton = new java.awt.Button(); java.awt.Label label1 = new java.awt.Label(); java.awt.Label label2 = new java.awt.Label(); java.awt.Button BinDecButton = 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 == ConversieButton) ConversieButton_ActionPerformed(event); else if (object == BinDecButton) BinDecButton_ActionPerformed(event); } } void ConversieButton_ActionPerformed(java.awt.event.ActionEvent event) { int decGetal = Integer.parseInt(decimaalGetalVeld.getText()); String resultaat = "" ; do { if (decGetal % 2==0) resultaat = "0" + resultaat; else { resultaat = "1" + resultaat; decGetal --; } decGetal = decGetal / 2; } while (decGetal >0); binairGetalVeld.setText(resultaat); // Eerst zet hij de int van het gehele decimale getal om in een tekstvorm door middel // van parseInt. Die haalt hij uit het DecimaalGetalVeld. // vervolgens kijkt hij of het resultaat wat je krijgt te delen is door 2 waarna je // een rest getal van 0 krijgt. Is dit zo dan geeft hij het resultaat in het BinairGetalVeld. // Anders doet hij daar nog 1 bij op om hem wel te kunnen converteren in een WEL geheel // binair getal. Dit resultaat komt uiteraard in het het binairGetalVeld. } void BinDecButton_ActionPerformed(java.awt.event.ActionEvent event) { // to do: code goes here. } } |
Gewoon, optellen. Zoiets als hieronder dus.quote:Op woensdag 15 maart 2006 20:11 schreef Messenga het volgende:
Nou, ik kom me ook weer eens melden. Feest
.
Met de volgende code heb ik een leuke code die van Decimaal naar binair gaat.
[ code verwijderd ]
Die werkt ook.
Maar nu moet ik dat andersom doen. Dus van Binair naar Decimaal. Maar ik heb geen idee hoe.
Instructies: Maak gebruik van de String 'lenght(); ' en substring (int,int).
Anyone?
1 2 3 4 5 6 7 8 9 10 11 | long decimaal = 0; for ( int i=0; i < bin.length(); i++ ) { if ( bin.substring( i, i+1 ).equals("1") ) { decimaal += Math.round( Math.pow( 2, i ) ); } } return decimaal; } |
Ik zie hier een nobele taak voor jequote:Op woensdag 15 maart 2006 20:46 schreef Messenga het volgende:
Ohja. Was vergeten te zeggen dat het in Actionpeformed moet. Of maakt dat niet uit?
Duh. Natuurlijk vergeet ik dat welquote:Op woensdag 15 maart 2006 20:50 schreef HuHu het volgende:
Vergeet je niet de String om te draaien voordat je het uitrekend Litpho?
Ja goh, maar hoe ziet de code er ongeveer uitquote:Op maandag 10 april 2006 16:42 schreef gelly het volgende:
Door een eventhandler aan je radiobuttongroup te hangen he
Daar zijn meerdere manieren voor...quote:Op maandag 10 april 2006 16:44 schreef Messenga het volgende:
[..]
Ja goh, maar hoe ziet de code er ongeveer uit?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | { public void stateChanged(ChangeEvent e) { mijnRadioButton_stateChanged(e) } }); En dan ergens anders in je applet een methode private void mijnRadioButton_stateChanged(ChangeEvent e) { \\hier de code die de kleur moet veranderen.. } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | double px1 = x1 * perspective(z1), px2 = x2 * perspective(z2), py1 = y1 * perspective(z1), py2 = y2 * perspective(z2); int ipx1 = (int)px1; int ipx2 = (int)px2; int ipy1 = (int)py1; int ipy2 = (int)py2; g.drawLine(ipx1,ipy1,ipx2,ipy2); } double perspective(int z) { double p = (double)s/((double)s-(double)z); return p; } |
Wat houdt dit dan in? of heb je misschien een linkje naar een artikel over dit onderwerp?quote:Op dinsdag 11 april 2006 10:35 schreef dikkedorus het volgende:
Werk met transformatie matrices ipv zelf al die vermenigvuldigingen te doen. Als je echt serieus een engine wilt maken.
1 2 3 4 5 6 7 8 9 | public class Test { public static void main(String[] args) { System.out.println("Dit is een test"); } } |
Ik wilde het net zeggen, check dat even na!quote:Op woensdag 19 april 2006 13:35 schreef Gabberhead het volgende:
In je classpath staat C:\j2sdk1.4.2.11\ en C:\j2sdk1.4.2_11\
In je PATH is het C:\j2sdk1.4.2_11\
Eentje daarvan is fout en de andere niet. Mijn vermoeden is dat de entries met de underscore goed zijn
1 |
Iddquote:Op woensdag 19 april 2006 15:07 schreef FallenAngel666 het volgende:
Dat krijg je als je een teksteditor gebruikt voor applicatie ontwikkeling in plaats van een volwaardige IDE, zoals Eclipse. Die regelt dat lekker voor je
Dat heb ik een keer per ongeluk uitgezet.quote:
Ja... maar ik heb het probleem ook op een andere computer... lukt het jou wel dan?quote:Op zaterdag 22 april 2006 15:40 schreef gelly het volgende:
Heb je je browser al opnieuw opgestart ?
quote:<HTML>
<!-- Lotus-Domino (Release 5.0.2a (Intl) - 23 November 1999 on Windows NT/Intel) -->
<HEAD>
Er is een smerig truucje voor, dat is deze:quote:Op dinsdag 25 april 2006 21:04 schreef teehknaL het volgende:
Misschien een domme vraag, maar ik kom er niet uit:
ik heb een double, en die wil ik graag in een textfield krijgen. Nou wil .setText() alleen maar strings gevoerd krijgen. Hoe moet ik nou die double converteren naar een string? Iemand een idee?
Hee thanx!quote:Op dinsdag 25 april 2006 21:09 schreef HuHu het volgende:
Er is een smerig truucje voor, dat is deze:
.setText("" + deDouble );
Hierbij wordt de double automatisch naar een Sting omgezet, omdat je deze met de + aan een (lege) string plakt. En de nette manier is:
.setText(String.valueOf(deDouble));
parseDoublequote:Op dinsdag 25 april 2006 21:09 schreef HuHu het volgende:
[..]
Er is een smerig truucje voor, dat is deze:
.setText("" + deDouble );
Hierbij wordt de double automatisch naar een Sting omgezet, omdat je deze met de + aan een (lege) string plakt. En de nette manier is:
.setText(String.valueOf(deDouble));
parseDouble gebruik ik de andere kant opquote:
1 2 | double diameter = Double.parseDouble(str); |
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 | public class Opdracht3part1a { public static void main(String [] args) { String s1 = "Happy New Year"; String s2 = "ew Y"; //System.out.println(s2.length()); System.out.println(s1.indexOf(s2)); System.out.println(indexOf(s1,s2)); } public static int indexOf(String s1, String s2) { char c, d, e, f; int i, k, x, y, z, h=-1; for (i=0; i < s1.length(); i++) { c = s1.charAt ![]() for (k=0; k < s2.length(); k++) { d = s2.charAt(k); boolean sjaak = true; if (c==d) { h=i; x=i; y=k; while(sjaak) { x=x+1; y=y+1; e = s1.charAt(x); f = s2.charAt(y); if (e==f) { sjaak = true; z=y; z=z+1; if (z==s2.length()) return h; } else { sjaak = false; h=-1; } } } else { k=k+s2.length(); h=-1; } } } return h; } } |
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 | { public static void main(String[] args) { System.out.println("index:" + indexOf("testhallo","tst")); System.out.println("index:" + indexOfLooped("testhallo","tst")); System.out.println("index:" + indexOf("hallotesthallo","test")); System.out.println("index:" + indexOfLooped("hallotesthallo","test")); } // recursief public static int indexOf(String haystack, String needle) { if(haystack.length() >= needle.length()) { if(haystack.startsWith(needle)) { return 0; } else { int index = indexOf(haystack.substring(1),needle); if(index == -1) return -1; else return 1+index; } } else { return -1; } } // lus public static int indexOfLooped(String haystack, String needle) { for(int index = 0; haystack.length() > 0; index++) { if(haystack.startsWith(needle)) return index; haystack = haystack.substring(1); } return -1; } } |
je zou eens na moeten lezen wat StartsWith doet:quote:Op donderdag 25 mei 2006 16:21 schreef KneiterS het volgende:
Ik zit nog steeds te kijken hoe je dat nou flikt met die lus manier.
Je kijkt eerst of de eerste string begint met dezelfde letter als de 2de string. Is dit zo dan return je de index van hoe vaak die al door de loop geweest is. Daarnaast doe je ook iedere iteratie de eerste letter van string1 afnemen zodat je steeds met een andere letter vergelijkt. Maar wat ik nou niet snap hoe kan het dit systeem ook werkt als je bijvoorbeeld de eerste test of Test gelijk is aan TeSt. Als ik naar deze code kijk dan zie ik alleen maar dat er vergeleken word of de eerste letter gelijk is van een woord. Maar op de een of andere manier werkt het toch allemaal. Kan je me misschien uitleggen waar die vergelijking dan gemaakt wordt?
1 2 3 | for(int i=0; i < 40; i++) myArray[i]=0; |
1 2 3 4 5 6 7 8 9 | for (int i=0; i < 40; i++) { if (myArray[i]<half) { myArray2[k]=myArray[i]; k=k+1; } } |
In java.ulils.Arrays zit een static methode fill() (zie API docs)quote:Op zondag 28 mei 2006 14:58 schreef KneiterS het volgende:
Daar ben ik weer met nog een vraagje:
Ik moet nu wat opdrachtjes maken over arrays. Allereerst moet ik een array initialiseren van 40 elements en vervolgens zorgen dat alle 40 de waarde 0 hebben. Dit heb ik gedaan met een loopje:
[ code verwijderd ]
Werkt op zich prima maar ik vroeg me af of er niet gewoon een functie voor is in java? Dat je dat loopje niet nodig hebt maar dat vanzelf alles gevuld wordt met 0?
Arrays zijn vies. Eigenlijk moet je docent een pak slaag omdat ie je met arrays bezig laat zijn, maar goed.quote:In de opdracht moet ik verder 500 random getallen trekken tussen 0 en 39 en dan steeds 1tje optellen in de desbetreffende deel van de array. Dat lukt allemaal prima. Dan moet ik de het hoogste getal van de array nemen en het laagste, deze optellen en delen door 2, dat wordt dan het getal half. Dat lukt ook. Maar dan moet ik een 2de array maken waar alleen de getallen lager dan half ingezet mogen worden. Nou lukt het idee me opzich wel, dat doe ik namelijk als volgt:
[ code verwijderd ]
Alleen moet je natuurlijk eerst die array initialiseren en dan moet je een getal opgeven van hoeveel plaatsen je wilt in die array, maar vantevoren weet ik nog helemaal niet hoeveel plaatsen ik nodig heb. Nou vraag ik me af hoe ik dat dan voor elkaar kan krijgen is er geen functie dat je steeds een extra plaatsje erbij kan maken in je array? Ik hoop dat het een beetje duidelijk is.
Mja, da's het nadeel van een array; de grootte staat van te voren vast - gelukkig zijn er wel oplossingen (linked list enzo) maja, het lijkt me ook dat de docent wil dat je 2x er doorheen gaat. Eenmaal op het aantal uit te vinden, dan array aanmaken en dan de array vullen.quote:Op zondag 28 mei 2006 15:12 schreef Aaargh! het volgende:
[..]
In java.ulils.Arrays zit een static methode fill() (zie API docs)
[..]
Arrays zijn vies. Eigenlijk moet je docent een pak slaag omdat ie je met arrays bezig laat zijn, maar goed.
Als ik het goed begrijp moet je een 2e array opleveren waarin alleen de getallen staan uit array 1 die lager zijn dan de variabele 'half'. Begrijp ik het goed als ik hieruit opmaak dat de 2e array geen 'lege' posities mag bevatten en dat deze verder op dezelfde volgorde moet zijn als array 1 ?
Wat je docent denk ik wil is dat je eerst een lusje maakt die telt hoeveel items in array 1 er lager zijn dan 'half' en dat je deze gebruikt om een nieuwe array aan te maken.
Ja volgens mij begrijp je het goed. Wat jij zegt dat had ik idd geprobeerd maar dan krijg ik een fout. Ik zal wel mijn hele code laten zien:quote:Op zondag 28 mei 2006 15:12 schreef Aaargh! het volgende:
Arrays zijn vies. Eigenlijk moet je docent een pak slaag omdat ie je met arrays bezig laat zijn, maar goed.
Als ik het goed begrijp moet je een 2e array opleveren waarin alleen de getallen staan uit array 1 die lager zijn dan de variabele 'half'. Begrijp ik het goed als ik hieruit opmaak dat de 2e array geen 'lege' posities mag bevatten en dat deze verder op dezelfde volgorde moet zijn als array 1 ?
Wat je docent denk ik wil is dat je eerst een lusje maakt die telt hoeveel items in array 1 er lager zijn dan 'half' en dat je deze gebruikt om een nieuwe array aan te maken.
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 | import java.util.Random; public class Opdracht1 { public static void main(String[] args) { Random random = new Random(); int a = 40; int[]myArray = new int[a]; for(int i=0; i < a; i++) myArray[i]=0; for (int i=0; i < 500; i++) { int value = Math.abs(random.nextInt()); value = value%a; myArray[value] = myArray[value]+1; } int half = half(myArray); System.out.println(half); int x=0; for (int i=0; i < 40; i++) { if (myArray[i]<half) { x=x+1; } } int[]myArray2 = new int[x]; int k=0; for (int i=0; i < 40; i++) { if (myArray[i]<half) { myArray2[k]=myArray[i]; k=k+1; } } int half2 = half(myArray2); System.out.println(half2); } public static int half(int myArray[]) { int mx=0; int mn=500; for (int i=0; i < 40; i++) { if(myArray[i]>mx) mx = myArray[i]; if(myArray[i]<mn) mn = myArray[i]; } int half = (mx + mn)/2; return half; } } |
1 2 3 4 5 6 7 8 9 10 11 | for (int i=0; i < 40; i++) { if (myArray[i]<half) { x=x+1; } } int[]myArray2 = new int[x]; |
1 |
1 2 3 4 5 6 7 8 | { if (myArray[i]<half) { myArray2[k]=myArray[i]; k=k+1; } } |
Dat ook jaquote:Op zondag 28 mei 2006 15:32 schreef Aaargh! het volgende:
Je fout zit in de methode 'half()'
Die doet de aanname dat de array die bekeken wordt 40 elementen heeft, maar myArray2 heeft meestal helemaal niet 40 elementen.
Als je even de stacktrace had bekeken had je gezien dat de fout in regel 61 zit.
Nee, dat klopt wel. De eerste array is nog steeds 40 groot, voor de 2e array gebruikt ie de variabele 'k'. (ook niet netjes, hij had een meer omschrijvender variabele naam kunnen kiezen).quote:Op zondag 28 mei 2006 15:35 schreef fallrite het volgende:
[ code verwijderd ]
In dat stuk ga je de 2e array vullen maar je gebruikt nog wel als grens 40 terwijl de array hoogstwaarschijnlijk kleiner is (daar dient dus niet 40 maar x te staan (die variable is namelijk de lengte van de array)).
Nope.quote:Op woensdag 31 mei 2006 13:50 schreef Scorpie het volgende:
gewoon de 2e array in een vector gooien met vector.fill() (volgens mij?).
1 2 3 4 5 | // Wat elementen toevoegen... Vector bar = new Vector(Arrays.asList(foo)); |
Jigloo, knip en plak GUI http://www.cloudgarden.com/jigloo/quote:Op vrijdag 2 juni 2006 17:44 schreef Cart_man het volgende:
Word echt gestoord van dat java. Moet in Eclipse een programmaatje bouwen met werkend interface. Werkelijk geen idee wat de beste aanpak hiervoor is? Iemand starterstips?
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 | public class Class1 extends TekenApplet { double hoek; public void initialiseer() { maakAnimatieMogelijk(); achtergrondkleur("blauw"); } public void tekenprogramma() { links(hoek); vierkant(100); links(hoek); vierkant(50); penUit(); vooruit(75); rechts(90); vooruit(25); rechts(90); penAan(); links(hoek); vierkant(50); } void vierkant(double z) { penUit(); vooruit(z/2); rechts(90); vooruit(z/2); vulAan("oranje"); rechts(90); vooruit(z); rechts(90); vooruit(z); rechts(90); vooruit(z); rechts(90); vooruit(z); vulUit(); } public void animatie() { while(animatieLopend()) { hoek = hoek + .5; tekenOpnieuw(); } } } |
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 | { public static void main(String args[]) { GasPump Pomp1 = new GasPump(1.20, "reg"); System.out.println("Informatie van POMP 1:"); System.out.println("Bezig met vullen van de pomp 1:"); Pomp1.refill(); System.out.println("Inhoud pomp1: " +Pomp1.stock() +" liter."); System.out.println(""); System.out.println("Pomp nu 80 liter uit pomp 1"); Pomp1.pompen(80); System.out.println(""); System.out.println("Er wordt een nieuwe pomp bijgebouwd:"); GasPump Pomp2 = new GasPump(1.50, "sup"); System.out.println("We vullen deze pomp:"); Pomp2.refill(); System.out.println(""); System.out.println("Pomp nu 80 liter uit pomp 2."); Pomp2.pompen(80); System.out.println(""); System.out.println("Pomp nu weer 80 liter uit pomp 1."); Pomp1.pompen(80); System.out.println(""); System.out.println("We gaan nu uit pomp 1 10 keer 90 liter halen:"); for(int i=1; i < 11; i++) { Pomp1.pompen(90); System.out.println(""); } System.out.println("Uit pomp 2 halen we 5 keer 40 liter:"); for(int i=1; i < 6; i++) { Pomp2.pompen(40); System.out.println(""); } System.out.println("De inhoud is nu:"); System.out.println("Inhoud pomp1: " +Pomp1.stock() +" liter."); System.out.println("Inhoud pomp2: " +Pomp2.stock() +" liter."); System.out.println(""); System.out.println("De tankwagen komt langs en vult de pompen weer bij:"); Pomp1.refill(); Pomp2.refill(); } } |
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 | { private int stock; private double price; private String kind; public GasPump(double price1, String type) //pre: double met de prijs die niet leeg mag zijn //post: nieuwe pomp opgestart. { price = price1; stock = 0; kind = type; } public void refill() //post: regstock en supstock bijgesteld. { stock = 1000; System.out.println("Pomp gevuld, nieuwe voorraad: " +stock() +" liter " +kind +"."); } public void pompen(int liters) //pre: int met aantal te pompen liter, not NULL en een string reg of sup. //post: nieuwe waarde voor regstock of supstock en een output. { if (liters > stock()) { System.out.println("Niet genoeg benzine op voorraad, de resterende "+ stock() +" liter worden bijgepompt:"); System.out.println("Totaal bedrag: " +(stock() * price) +" euro."); stock = 0; System.out.println("Nieuwe voorraad: " +stock() +" liter " +(kind) +" in de pomp."); } else { System.out.println("Er worden "+ liters +" liters regular gepompt:"); stock = stock() - liters; System.out.println("Totaal bedrag: " +(liters * price) +" euro."); System.out.println("Nieuwe voorraad: " +stock() +" liter " +(kind) +" in de pomp."); } } public int stock() //post: int met waarde van stock { return stock; } } |
Je kan gewoon de equals() methode van java.lang.Object kunnen overriden voor GasPump.quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | if(this == obj){ return true; } if (obj instanceof GasPump){ GasPump pump = (GasPump) obj; boolean stockIsEqual = stock == pump.getStock(); boolean kindIsEqual = kind.equals(pump.getKind()); if(stockIsEqual && kindIsEqual){ return true; } } return false; } |
Wat bedoel je met "aan elkaar gekoppeld"?quote:Op donderdag 8 juni 2006 08:39 schreef joupee het volgende:
Ik ben bezig met een beetje java, maar ik kom er niet uit.
Het is de bedoeling dat er een vierkant ronddraait en dat er dan op de hoekpunten kleinere vierkantjes ronddraaien. De code zit er tot nu toe als volgt uit:
[ code verwijderd ]
Het probleem nu is dat de kleinere vierkantjes aan elkaar gekoppeld zitten en ik heb geen flauw idee hoe ik dit kan verhelpen...
Tnx het is me gelukt! Ja ik vond dat cooler om een methode te gebruiken ipv de variabele, het slaat idd nergens opquote:Op donderdag 8 juni 2006 22:31 schreef FallenAngel666 het volgende:
[..]
Je kan gewoon de equals() methode van java.lang.Object kunnen overriden voor GasPump.
Uit de losse pols:
[ code verwijderd ]
Moet je nog wel even je methode stock() hernoemen naar getStock() en een methode getKind() implementeren. Waarom roep je binnen jouw klasse trouwens de methode stock() aan i.p.v. direct de member variabele te gebruiken? Probeer ook het door elkaar gebruiken van Nederlandstalige en Engelstalige naamgeving te vermijden.
1 2 3 4 5 6 7 | { JButton but+i = new JButton(">"); panel.add(but); but.setBounds(10,h,45,35); h+=40; } |
1 2 3 4 | for(int i=0; i<buttons.length;i++){ buttons[i] = new JButton(">"); } |
1 2 3 | someContainer.add(new JButton(">")); } |
Hehe ja, maar 't was dus meer ff om te illustreren wat ik wildequote:Op woensdag 14 juni 2006 20:51 schreef fallrite het volgende:
Ehm, ja.. but+i is een taalconstructie die ik zo niet ken hoor![]()
Kijk anders ook ff hier en hier. De html file moet je vervolgens ook gewoon in de JAR file stoppen.quote:Op maandag 14 augustus 2006 17:10 schreef rvisser78 het volgende:
Vraagje, ik heb een project in Jbuilder gemaakt. Nu wil ik er een .jar file van maken zodat ik hem met een html file kan runnen. Kan iemand me vertellen hoe dat werkt, ik kom er niet uit
Alvast bedankt!
Ik zou er iets als de volgende methode voor gebruiken:quote:Op zondag 1 oktober 2006 15:55 schreef Messenga het volgende:
Zo, hier is de ubern00b van FOK! wat betreft Java weer. :')
Ik moet een applet maken die er zo uit ziet :
[afbeelding]
Zoals je ziet zijn de labels aan de rechterkant nog wel zichbaar, maar als je het runt zijn ze niet zichtbaar. Nu moet ik een applet maken waarbij een leerling het aantal 3'en 4'en, 5'en en het totaal aantal punten moet invullen. Als dat gebeurt is krijgt de leerling 1 van de 3 labels te zien.
Nou heeft de applet de volgende voorwaarden :
Rapportcijfer zijn geele getallen van 3 tot 10
Cijfers 1 en 2 doen niet mee
Leerling met
-meer dan 1 3
- 3 of meer vieren
- 2 vieren en meer dan 1 vijf
- 2 vijfen en minimaal 1 vier
- 3 vijfen
- met 2 vieren of 1 vier met in totaal 42 punten wordt besproken, bij minder dan 42 punten.
blijft zitten
Alle overige gevallen gaat de leerling over.
Hoe zorg ik ervoor dat al deze punten goed verwerkt worden in een applet? Ik begrijp dat het door middel van een if statement moet, maar veel verder kom ik niet.
1 2 3 4 5 6 7 | if ( drieen > 1 | vieren >= 3 | (vieren==2 & vijven > 1) | (vieren >= 1 & vijven==2) | vijven==3 ) return BLIJVEN_ZITTEN; if ( vieren >= 1 & totaal < 42 ) return BLIJVEN_ZITTEN; if ( vieren >= 1 & totaal >= 42 ) return BESPREKEN; return GAAT_OVER; } |
Nou ja, definieeren is niet het juiste woord, maar ik had in gedachte dat je nog ergensquote:Op zondag 1 oktober 2006 18:32 schreef Messenga het volgende:
Laatste regel moet inderdaad 2 vijven of 1 vier zijn.
En hoe defineer je ook alweer? :@ :')
1 2 3 | final int BESPREKEN = 1; final int GAAT_OVER = 2; |
ligt eraan. Mogen de drieeen, vieren etc veranderen tijdens het runnen van de applicatie? Dan denk ik dat je:quote:Op zondag 1 oktober 2006 19:36 schreef Messenga het volgende:
Ik heb nu :
if (drieen > 1 | vieren >= 3 | (vieren==2 & vijven > 1) | (vieren >= 1 & vijven==2) | vijven==3 ) {
return BLIJVEN_ZITTEN;
}
if ( vieren >= 1 & totaal < 42 ) {
return BLIJVEN_ZITTEN;
}
if ( vieren >= 1 & totaal >= 42 ) {
return BESPREKEN;
}
return GAAT_OVER;
Ik werk namelijk met Visual Café.
Nu moet ik alle drieen, vieren, vijven en het totaal nog defineren.. hoe?
1 2 3 4 5 6 7 8 9 | String naamcijfer; LeerlingRij[teller].naam= NaamVeld.getText(); LeerlingRij[teller].cijfer= Integer.parseInt( Cijferveld.getText()); naamcijfer = LeerlingRij[teller].naam + " - " + LeerlingRij[teller].cijfer; Naamlijst.add(naamcijfer); NaamVeld.setText(""); Cijferveld.setText(""); teller++; |
1 2 3 4 5 6 7 8 9 10 | 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 = Naamlijst.getItem(index);//pakt het element if(dit_element.compareTo(Naamlijst.getItem(index+1)) > 0)//vergelijkt 2 elementen uit de lijst { Naamlijst.remove(index);// verwijderd het tijdelijk Naamlijst.add(dit_element, index+1);// voegt het op de juiste plaats toe NaamVeld.requestFocus(); |
1 2 3 4 5 6 7 8 9 | public class Sort { public static void main(String[] args) { List<String> list = Arrays.asList(args); Collections.sort(list); System.out.println(list); } } |
quote:Let's run the program.
% java Sort i walk the line
The following output is produced.
[i, line, the, walk]
Je moet eens kijken naar de Comparator interface in java.utils. Daarmee kun je vast leggen hoe objecten geordend zijn. Vervolgens kun je dan de sort methode in Collections of Arrays gebruiken.quote:Op zondag 8 oktober 2006 14:18 schreef Messenga het volgende:
Ik meld me weer eens.
[afbeelding]
Die applet. Nou heb ik de voeg toe en sorteer op naam Button al gemaakt.
code voor de voeg toe button :
[ code verwijderd ]
Code voor de sorteer op naam
[ code verwijderd ]
Maar hoe doe ik dit met een sorteer op cijfer button?
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 | { sortCijfers(LeerlingRij); // to do: code goes here. } public void sortCijfers (Leerling[ ] array) { int i, j; String s; Leerling temp; for ( i = 1; i < array.length; i++ ) for ( j = 0; j < array.length-i; j++ ) if ( array[j].cijfer > array[j+1].cijfer ) { temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } // if Naamlijst.clear(); for (i = 0; i < array.length; i++) { if (array[i].naam != null) { s = array[i].naam + " - " + array[i].cijfer; Naamlijst.add(s); } } } //zie commentaar van de namen van de actionpeformed hierboven, alleen de variabele namen //zijn gewijzigd. } |
Vrij weinig hoor, je hebt iig de Java Development Kit nodig, te vinden op http://java.sun.com/javase/downloads/index.jsp . Daarnaast een texteditor om je code in te schrijven. Kladblok voldoet als je echt hardcore bentquote:Op zaterdag 14 oktober 2006 14:37 schreef fate het volgende:
Nu php me wat tegensteekt zou ik me graag eens in java storten maar na wat rondgesurft te hebben weet ik nog altijd niet goed welke programma's ik nodig heb om java te schrijven en uit te voeren.
Wil iemand me dit even uitleggen want als ik ergens uitleg vindt is het redelijk onbegrijpelijk :s.
Je telt alle listitems bijelkaar op en deelt het totaal door 10 ?quote:Op zaterdag 14 oktober 2006 14:39 schreef Messenga het volgende:
Alle getallen delen door 10
Maar hoe zet je zoiets om in code?
Zover was ik alquote:Op zaterdag 14 oktober 2006 14:44 schreef gelly het volgende:
[..]
Je telt alle listitems bijelkaar op en deelt het totaal door 10 ?
Je doorloopt met een for-lus alle items, telt ze bijelkaar op en deelt ze door 10. Wat wil je nu precies weten ... Probeer zelf eens wat, waarschijnlijk leer je daar meer van. Lukt het niet, post dan de code die je al hebt hier. Ik ga je huiswerk niet zitten makenquote:Op zaterdag 14 oktober 2006 14:46 schreef Messenga het volgende:
[..]
Zover was ik al.
Ik moet gewoon een begin hebben, van :"Hier begin je mee, op die manier selecteer je alle getallen." Dan is het niet zo moeilijk meer.
Je was net voor mn editquote:Op zaterdag 14 oktober 2006 14:49 schreef gelly het volgende:
[..]
Je doorloopt met een for-lus alle items, telt ze bijelkaar op en deelt ze door 10. Wat wil je nu precies weten ... Probeer zelf eens wat, waarschijnlijk leer je daar meer van. Lukt het niet, post dan de code die je al hebt hier. Ik ga je huiswerk niet zitten maken
Welke versie moet ik van die Java Development Kit downloaden? Er staan er zoveelquote:Op zaterdag 14 oktober 2006 14:43 schreef gelly het volgende:
[..]
Vrij weinig hoor, je hebt iig de Java Development Kit nodig, te vinden op http://java.sun.com/javase/downloads/index.jsp . Daarnaast een texteditor om je code in te schrijven. Kladblok voldoet als je echt hardcore bentZelf gebruik ik Eclipse ( http://www.eclipse.org ) als editor, die heeft syntax higlighting en andere tools om e.e.a. wat minder tijdrovend te maken. Tutorials zijn ook overal te vinden.
JDK 5.0 update 9quote:Op zaterdag 14 oktober 2006 14:53 schreef fate het volgende:
[..]
Welke versie moet ik van die Java Development Kit downloaden? Er staan er zoveel![]()
zoiets zegt me dus echt nietsquote:Op zaterdag 14 oktober 2006 14:55 schreef gelly het volgende:
In pseudo code :
For x = 0 tot 9 { totaal = totaal + listitem[x] }
gem = totaal /10 <-- gem moet double zijn, geen int.
label = gem.toString
1 2 3 4 5 6 7 8 9 10 11 | { int som=0; for (int x=0; x < 10; x++){ som = som + getallen[x]; } return (som / 10); } |
1 2 3 4 5 6 7 | int som=0; for (int x=0; x < 10; x++){ som = som + cijfers[x]; GemLabel.setText(String.valueOf(cijfers[x])); |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |