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.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |