De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Het zijn aparte objecten.
Een object in een ene klasse, is niet hetzelfde als in een andere klasse en hebben dus ook niet automatisch dezelfde waarde. Dit moet je explicitiet toevoegen, bv. door het mee te geven als variabele in je constructor.
b.v.
1
2
3
4
| public BankGui(Bank b){
this.bank = b;
// andere code die in je public BankGUI() staat.
} |
let the past be the past.
Ik kom er niet echt uit, ik zal even de benodigde code hiervoor uploadeden:
http://www.wikiupload.com/download_page.php?id=127476
Is niet echt netjes zo om de allemaal code te dumpen, maar ik hoop dat iemand mij kan helpen hiermee.
[ Voor 23% gewijzigd door Verwijderd op 16-04-2007 11:48 ]
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Klik eens op het linkje dat ik jou heb gegeven en volg de linkjes daarinVerwijderd schreef op maandag 16 april 2007 @ 11:46:
maar niet echt met de vragen of die is aangemaakt en geinitialiseerdwant ik dacht dat die al is aangemaakt, in de desbtreffende code?
Met het toevoegen van
1
| Bank bank = new Bank("De Hogeschoolbank"); |
komt er geen foutmelding.
Ik ben nu alweer een stap verder maar nu komt er te staan dat er geen klanten zijn
En is het niet mogelijk om Bank bank = new Bank("De Hogeschoolbank"); gewoon in main te schrijven zoals die dat nu al is en dit in de andere klassen te laden, want als we de naam ervan veranderen moet die overal worden veranderd.
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Verder ben ik het volledig met BalusC eens. Je mist enkele zeer belangrijke basisbeginselen. Op deze manier aanmodderen levert je alleen maar meer problemen op. Probeer eerst eens onder de knie te krijgen wat een variabele is, wat een object is en wat een class is, en dan vooral ook wat het verschil hiertussen is.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Ik heb net met de docent naar mijn code gekeken en ik ben eruit gekomen en wat jullie zeiden was helemaal waar maar ik wist niet echt precies hoe ik dat moest verhelpen dus hebben we er even naar gekeken en we kwamen eruit.
Bank wordt in de klasse bank aangemaakt en opgehaald in de andere klassen (Main en KlantBeheerGui oa) mbv
1
| Bank bank = Bank.getInstance(); |
Dat is misschien wel waar, maar het moet sowieso weggeschreven worden volgens de opdracht, en dat is misschien nog wel moeilijker. Dit is gewoon een kwestie van bijna letterlijk de codevoorbeeltjes volgen. Maar zelf wegschrijven is in deze fase wel veel leerzamer natuurlijk.Janoz schreef op maandag 16 april 2007 @ 13:13:
Voor iemand die op dit moment bezig is het verschil tussen een class en een object uit te vogelen lijkt me het serializen nog redelijke rocketsience. Het lijkt me dan ook niet handig om daar gelijk al over te beginnen.
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Het is wel een vreemde eend in de bijt, waarvan het niet vreemd zou zijn als'ie ooit nog deprecated wordt.momania schreef op vrijdag 13 april 2007 @ 20:21:
Want? Je weet dat Vector ook gewoon onderdeel van het collections framework [..]
Wie trösten wir uns, die Mörder aller Mörder?
1
2
3
4
5
6
7
8
9
10
11
12
13
| Bank bank = Bank.getInstance(); int knr = bank.klantTeller(); if (klanten == null || klanten.isEmpty()) { int i = 1; } else { for (i=0; i<knr; i++) { i = knr + 1; } return i; } tf6.setText(i); |
E:\Project\gui\KlantToevoegenGui.java:72: cannot return a value from method whose result type is void
return i;
^
E:\Project\gui\KlantToevoegenGui.java:75: setText(java.lang.String) in javax.swing.text.JTextComponent cannot be applied to (int)
tf6.setText(i);
Tweede error gaat neem ik aan over dat setText alleen een String variabele kan ophalen en geen int? Dus dan moet ik het omzetten naar een String variabele.
Dit betekent letterlijk: "je kunt een void methode geen waarde laten retourneren".cannot return a value from method whose result type is void
Nogmaals, lees de Java Tutorial gewoon op je gemak geheel door. Je bent bij de 'Elementen' blijven steken. Daar staat het nota-bene op
"Er kunnen methoden zijn die helemaal niet antwoorden, dan moet je als element type void invullen."
Inmiddels verholpen, maar ik krijg op het scherm de nummer 0 te zien. Ik denk zelf dat er wat mis gaat bij het converteren van String naar int.
edit: nope gaat niet fout bij het converteren, heb het net even uitgetest met door een andere nieuwgemaakte int een waarde te geven en die te converteren. FF verder kijken dus
[ Voor 23% gewijzigd door Verwijderd op 16-04-2007 14:46 ]
Tot dusver hadden we de klanten toegevoegd via main:
1
2
| bank.addKlant(new Klant(1, "Piet", "Anjerstraat 57 ", "Hengelo", "")); bank.addKlant(new Klant(2, "Jan", "Loopweg 32", "Zoetermeer", "")); |
Bij het opstarten van de KlantToevoegenGui krijg ik de klantnummer 3 te zien wat dus klopt, omdat er maar 2 klanten zijn, en als ik op OK klik dan voegt die de klant toe aan het bestand klanten.bank Maar het vage hiervan is dat zodra ik het programma opnieuw start alleen de twee oude klanten nog bestaan en de nieuwe klant is verwijderd.
Een klant toevoegen gaat zo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| public void actionPerformed(ActionEvent e) { if(e.getSource() == b1){ Bank bank = Bank.getInstance(); bank.addKlant(new Klant(knr, tf1.getText(), tf3.getText(), tf4.getText(), "")); bank.save(); dispose(); new KlantBeheerGui(); } if(e.getSource() == b2){ dispose(); new KlantBeheerGui(); } } |
Do diamonds shine on the dark side of the moon :?
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Maar als de save niet werkt dan kan die toch helemaal niks toevoegen? Als ik op OK klik en de applicatie nog niet afsluit dan zie ik dat het bestand klanten.bank is aangepast en de klant is toegevoegd, maar zodra ik het opnieuw start dan wordt die blijkbaar opnieuw aangemaakt in de oude versie.voodooless schreef op dinsdag 17 april 2007 @ 11:31:
Dan werkt je save niet, of je load! De twee bestaande klanten voeg je immers in de de main al toe als je het proggie start.
Dat dacht ik dus, maar zo te zien moet load er ook nog bij? Waar en waarom moet ik load dan toevoegen?Janoz schreef op dinsdag 17 april 2007 @ 11:35:
Ik zie nergens dat je je load aanroept. Ik zie alleen dat je enkele constante waarden toevoegd aan je class bij het initialiseren. Had je soms verwacht dat door die bank.save() je sourcecode aangepast werd oid?
Thnx!
Over de load: denk daar maar eens heel hard zelf over na! Zo moeilijk kan dat niet zijn.
[ Voor 13% gewijzigd door voodooless op 17-04-2007 11:42 ]
Do diamonds shine on the dark side of the moon :?
Ik wil TS dan ook maar aanraden om naar zijn docent te gaan en hem eens om uitleg vragen en in het vervolg iets beter opletten wanneer de onderwerpen in de klas behandeld worden. Je hebt namelijk geen idee waar je mee bezig bent.
We moeten, zoals ik eerder ook al aangaf, maar niet beginnen over serializen en O/R mappers.
[ Voor 6% gewijzigd door Janoz op 17-04-2007 11:46 ]
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Die save van jou slaat dus niet alleen de toegevoegde klant op, maar ook die twee, die je er in de main zelf bij zet. Ga je een load doen, dan staan die twee die je er in de main bij zet, dubbel in (aangezien je die immers in de main toevoegt en via de load inlaadt).
Do diamonds shine on the dark side of the moon :?
De vm doet de optimalisatie natuurlijk @ runtime, en hij kan zien dat alle aangeroepen functies compleet stateless zijn (dus geen globale variabelen en hardware accessen). Wat dus wil zeggen dat de code in dat geval altijd hetzelfde zal opleveren bij dezelfde input, waardoor de compiler de uiteindelijke output kan cachen, ongeacht wat die code nou eigenlijk doet.flowerp schreef op zaterdag 14 april 2007 @ 13:41:
Dat is wel een erge high-level optimalisatie zeg. Zo op het eerste oog lijkt het triviaal, maar dat is het zeker niet. De JVM moet dan -exact- weten wat een Vector.add precies doet, en wat een AbstractList.Iterator().next() precies terug geeft en intern potentieel kan doen.
Misschien dat ik wel mijn eigen AbstractList heb geschreven (de JVM staat namelijk los van de JDK class lib), waarbij de next() functie intern naar de clock kijkt en op Pasen de String 'Pasen' terug geeft.
Voor een programmeur natuurlijk een onzin functie, maar de JVM zal dus alle code van alle betrokken classen moeten nalopen. Ze mag er zeker niet van uitgaan dat Vector.add een vaststaande operatie is.
Of de vm dergelijke optimalisaties doet weet ik niet, daar heb ik verder geen verstand van, maar het is op zich trivialer dan jij nu denkt
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik heb twee klassen, KlantGui en KlantMenuGui.
Codes van KlantGui
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| public String klantNummer; //knr knr = new JTextField(10); p2.add(knr); //getValue public String getValue() { return knr.getText(); } //getKlantNummer public String getKlantNummer(){ klantNummer = getValue(); return klantNummer; } |
1
2
3
4
5
6
7
8
9
| private KlantGui kg = new KlantGui(); //Data moet hier dus getoond worden. String klantnr = kg.getKlantNummer(); p2.add(new JLabel (" Klantnr: ")); tf4 = new JTextField (10); p2.add(tf4); tf4.setEditable(false); tf4.setText(klantnr); |
Ik heb van alles geprobeerd maar getValue stuurt de data niet door. Als ik bijvoorbeeld klantNummer = "2" ipv klantNummer = getValue(); intyp dan wordt het getal 2 wel doorgestuurd.
Om in te loggen (KlantGui) heb je een klantnummer nodig en na het inloggen krijg je dus het scherm KlantMenuGui te zien. De bedoel is dat ik de klantnummer laat zien EN gebruik om de bijhorende data (naam, adres, woonplaats) die ik heb toegevoegd in de vector laad uit de aangemaakte bestand, hoe dat precies gaat zit ik ook nog mee en ik hoop dat jullie wat tips hebben daarvoor.
tip: duik eens wat verder in guiprogrammeren!
Als je trouwens echt wel java wil leren heb ik nog wel een andere tip: download het boek van Bruce Eckel: "Thinking in Java". Het eennalaatste deel kun je gewoon als doc of pdf downloaden. prima boek, veel beter dan de meuk die ze op scholen verplicht stellen. Wie begint er dan ook met GUI proggen als men nog niet eens de taal en OO principes onder de knie heeft...
[ Voor 39% gewijzigd door voodooless op 17-04-2007 21:26 ]
Do diamonds shine on the dark side of the moon :?
Het klinkt idd logisch dat de textfield leeg zal zijn als die het opvraagt als ik er zo naar kijk, maar ik zie niet echt een manier om het op te lossen.
sowiso is het zaak een goede scheiding te maken tussen je gui en je entiteiten als Klant, Bank, enz... een Klant is een Klant, en ee gui moet die Klant gebruiken. Het moet geen brei van doorelkaar lopende code worden, daar maak je het jezelf alleen maar lastig mee.
[ Voor 49% gewijzigd door voodooless op 17-04-2007 21:43 ]
Do diamonds shine on the dark side of the moon :?
In KlantMenuGui komen er labels met textfields waarin de opgehaalde informatie komt te staan. Bijv:
Naam: (label) - Piet (textfield)
de textfield is dan uiteraard non editable
Een klant heeft ook nog een rekening en dus moet er een data (in dit geval de klantnummer) opgehaald worden om de bijhorende rekeningen te tonen, toch?
Je hebt overigens gelijk over de manier hoe de code is geschreven allemaal. We hebben zo'n beetje alles door elkaar gedaan en dat zorgt ook nog voor onoverzichtelijkheid.
wat betreft je probleem: je hebt dus een invoerveld waar je je referentienummer uit haalt. Vervolgens laad je de rest van de gegevens erbij, en displayed ze. Wat je nu moet doen is een event maken om dat voor je af te handelen. Dat koppel je aan je invuleld of aan een knop ernaast. Dat event laat je de gegevens ophalen en weergeven (aka bestaande gui elementen vullen/updaten).
Ik ben expres wat cryptisch. Niet om je te plagen, maar om je te dwingen om er wat verder in te duiken. Zelf uitzoeken (eventueel aan de hand van hints) is wat mij betreft de beste methode om te leren. Bovendien type ik dit vanaf een Nokia E70 en heb ik zeker geen zin om daar code mee te typen (ondanks qwerty toetenbord)
[ Voor 19% gewijzigd door voodooless op 17-04-2007 22:09 ]
Do diamonds shine on the dark side of the moon :?
Laat ik maar eens opnieuw beginnen. Ik heb een klasse KlantGui, dit is een log-in klasse, waarmee je met een klantnummer kan inloggen, er staat een passwordfield bij maar die staat er voor de lol, die wordt dus (nog) niet gebruikt.
Bij het invullen van de klantnummer en daarna het klikken op OK wordt er dus een event in werking gesteld.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| public void actionPerformed(ActionEvent e) { if(e.getSource() == b2){ dispose(); new HoofdmenuGui(); } else if(e.getSource() == b1){ String s = getValue(); if(cl.controlKlant(s)) { new KlantMenuGui(kgc.getKlanten()); dispose(); } else { JOptionPane.showMessageDialog(null, "Klant bestaat niet."); } } } |
Er wordt gecontroleerd of de klantnummer voorkomt en zo niet dan kan er niet worden ingelogd.
Komt het klantnummer wel voor dat wordt je doorgestuurd naar KlantMenuGui, daar wil ik dus de klantnummer weer ophalen, maar dat is mij tot zover nog niet gelukt. Als ik dan de klantnummer heb wil ik op de een of andere manier (nog uitzoeken hoe) de andere bijhorende gegevens laden.
Hehe, zo leer ik idd wel beterIk ben expres wat cryptisch. Niet om je te plagen, maar om je te dwingen om er wat verder in te duiken. Zelf uitzoeken (eventueel aan de hand van hints) is wat mij betreft de beste methode om te leren. Bovendien type ik dit vanaf een Nokia E70 en heb ik zeker geen zin om daar code mee te typen (ondanks qwerty toetenbord)
[ Voor 14% gewijzigd door Verwijderd op 17-04-2007 22:17 ]
* voodooless moet tot 1 mei wachten op internet
Wat betreft je code: zo te zien leer je snel, maar je denkt soms te moeilijk. I.p.v alle klanten door te geven naar je klantenmenugui kun je ook alleen maar de benodigde klant doorgeven, of als je ze allemaal nodig hebt, ook nog het id dat je uit je tekstveld krijgt.
Bedenk altijd een aantal dingen:
- Wat heb ik nodig?
- Waar haal ik dat vandaan?
- Hoe krijg ik het daar waar ik het hebben wil?
[ Voor 14% gewijzigd door voodooless op 17-04-2007 22:44 ]
Do diamonds shine on the dark side of the moon :?
Thnx
Om dan nog de klantnummer te tonen in de volgende klasse moet ik de klantnummer uit de vector halen met behulp van de ingevulde klantnummer, klopt het een beetje zoals ik het op dit moment zeg?
Op welke school zit jij danID-College schreef op dinsdag 17 april 2007 @ 22:48:
Wij moeten dit ook doen voor school. Heb je de code compleet?, dan kan ik een paar dingen vergelijken en aanpassen. Ik kom er zelf ook niet helemaal uit namelijk. Dat zou wel makkelijk zijn
Thnx
[ Voor 32% gewijzigd door Verwijderd op 17-04-2007 22:58 ]
2e deel is onlogisch. Ik neem aan dat klant zijn eigen nummer wel kent? Zodoende kun je all info, dus ook het nummer uit Klant halen. Je hebt dus alleen klant nodig en voor de rest niks. Die haal je natuurlijk uit je vector van klanten (waarom is dat eigenlijk geen hashmap
Do diamonds shine on the dark side of the moon :?
HU, en ik moet ongeveer ook dit maken vandaarVerwijderd schreef op dinsdag 17 april 2007 @ 22:52:
Dus als ik het goed begrijp moet ik eigenlijk de klant al met de gegevens in de event van KlantGui bepalen, zodat ik alleen die gegevens in de volgende klasse hoef te laden?
Om dan nog de klantnummer te tonen in de volgende klasse moet ik de klantnummer uit de vector halen met behulp van de ingevulde klantnummer, klopt het een beetje zoals ik het op dit moment zeg?
[...]
Op welke school zit jij dan?
Maarjah stuur maar een PM anders met je msn ofzo.
In ieder geval, in de klasse Bank had ik iets gemist, ik heb dit zelf niet toegevoegd dus ik kwam er net pas achter
1
2
3
4
5
6
7
8
| public Klant getKlant(int nummer) { for (Klant klant : klanten) { if (klant.getNummer() == nummer) { return klant; } } return null; } |
In de event heb ik dit toegevoegd / gewijzigd
1
2
3
4
5
6
7
8
| int i = Integer.parseInt(s); if(cl.controlKlant(s)) { Bank bank = Bank.getInstance(); bank.getKlant(i); new KlantMenuGui(); dispose(); } |
Tot zover klopt het nog wel, maar ik zit nu nog te denken hoe ik verder moet.
Dit is iig de constructor van Klant:
1
2
3
4
5
6
7
8
9
| public Klant(int nummer, String nm, String ad, String pl, String pw) { this.nummer = nummer; naam = nm; adres = ad; plaats = pl; password = pw; this.rekeningen = new Vector<Rekening>(); } |
pw staat eigenlijk overal voor de lol, maarjah..
Ik weet niet hoever jij bent, maar wij zijn ook al aardig op weg, ga het natuurlijk niet kopieeren. Valt een beetje op en ga wat ik nu heb niet weggooien uiteraard
sorry voor offtopic
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
| //een hoop andere code public class KlantGui extends JFrame implements ActionListener{ private JPanel p1,p2,p3; private JButton b1, b2; private JTextField knr; private Klant klant; private Bank bank; public String klantNaam; public String klantAdres; public String klantPlaats; //een hoop andere code public void actionPerformed(ActionEvent e) { if(e.getSource() == b2){ dispose(); new HoofdmenuGui(); } else if(e.getSource() == b1){ String s = getValue(); int i = Integer.parseInt(s); if(cl.controlKlant(s)) { Bank bank = Bank.getInstance(); bank.getKlant(i); klantNaam = klant.getNaam(); klantAdres = klant.getAdres(); klantPlaats = klant.getPlaats(); JOptionPane.showMessageDialog(null, klantNaam); //new KlantMenuGui(); //dispose(); } else { JOptionPane.showMessageDialog(null, "Klant bestaat niet."); } } } |
Dit zou het toch moeten doen?
Ligt eraan wat het isVerwijderd schreef op woensdag 18 april 2007 @ 01:15:
Dit zou het toch moeten doen?
Do diamonds shine on the dark side of the moon :?
Dat de gegevens worden van de klant met klantnummer i, zodat ik ze in de andere klasse kan halen.
KlantGui
1
2
3
| klantNaam = "3"; //klantAdres = klant.getAdres(); //klantPlaats = klant.getPlaats(); |
Dat krijg ik dan wel in de message box te zien, maar de volgende gui opent die alleen een leg scherm
KlantGuiMenu
1
2
3
4
5
6
7
| //hoop code private KlantGui kg; //hoop code tf1.setText(kg.klantNaam); |
de methode getKlant(i) in bank levert een klant op. Jij doet vervolgens niks met de klant. Nergens vang je die klant in op. Je moet de klant toekennen aan een variabele. Klant klant = bank.getKlant(i);. Vervolgens kun je van alles met die klant doen. Bijvoorbeeld doorgeven aan de andere GUI. Ik zeg het nogmaals. En waarom roep je eigenlijk dispose aan?Verwijderd schreef op dinsdag 17 april 2007 @ 23:33:
In de event heb ik dit toegevoegd / gewijzigd
Java:
1 2 3 4 5 6 7 8 int i = Integer.parseInt(s); if(cl.controlKlant(s)) { Bank bank = Bank.getInstance(); bank.getKlant(i); new KlantMenuGui(); dispose(); }
Tot zover klopt het nog wel, maar ik zit nu nog te denken hoe ik verder moet.
Dit zijn echt de meest simpele basis beginselen van programmeren ansich. Door zo maar te blijven aan prutsen gaat het nooit wat worden.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Ik krijg nu de gegevens in dezelfde klasse al, nu nog alleen in de andere klasse zien te krijgen, want dat doet die nog niet, ik zal er even goed naar kijken en die site doornemen, want dit lijkt mij ook weer iets wat je al in het begin eigenlijk al moet weten
dispose() gebruiken we om de vorige scherm te sluiten als er een nieuwe wordt geopend.
voodooless schreef op dinsdag 17 april 2007 @ 22:41:
Bedenk altijd een aantal dingen:
- Wat heb ik nodig?
- Waar haal ik dat vandaan?
- Hoe krijg ik het daar waar ik het hebben wil?
Do diamonds shine on the dark side of the moon :?
Als je nu ens de constructor van KlantMenuGui aanpast dat je daar een klant aan mee kunt geven, dan heb je die klant ook in de KlantMenuGui instantie.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
1
| new KlantMenuGui(klantNaam, klantAdres, klantPlaats); |
1
2
| public KlantMenuGui (String klantNaam, String klantAdres, String klantPlaats) { super(); |
Beetje dom allemaal nu ik er zo naar zie te kijken
Leraar kwam net met een andere oplossing, dat de gegevens pas in de volgende klasse worden geladen. Hij had dit naar een jongen uit onze projectgroep gemaild. Hij zei dat dat beter is
Verwijderd
Ik zit ook op de HU en heb precies dezelfde opdracht. Die van ons is al af, maar het is de bedoeling dat je vanuit je controller-klasse een nieuwe UI opbouwt en vanuit de controller klasse de componenten(textarea's, textfield's enz.) invult.Verwijderd schreef op woensdag 18 april 2007 @ 11:45:
Ik heb het!
Java:
1 new KlantMenuGui(klantNaam, klantAdres, klantPlaats);
Java:
1 2 public KlantMenuGui (String klantNaam, String klantAdres, String klantPlaats) { super();
Beetje dom allemaal nu ik er zo naar zie te kijken![]()
Leraar kwam net met een andere oplossing, dat de gegevens pas in de volgende klasse worden geladen. Hij had dit naar een jongen uit onze projectgroep gemaild. Hij zei dat dat beter isMaarjah dit doet het in ieder geval ook
Dus:
1
2
3
4
5
6
| public KlantMenuGui(Klant klant) { this.klant = klant; // een hoop andere dingen } // in KlantGui: new KlantMenuGui(klant); |
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Do diamonds shine on the dark side of the moon :?
@TNT Bomber: JZ heeft al meerdere keren de applicatie bekeken en hij zei er niets van dus hopelijk blijft dat ook zo, ik heb geen tijd meer om ook nog de hele applicatie te gaan veranderen.
Verwijderd
Wij hebben dus een andere docentVerwijderd schreef op woensdag 18 april 2007 @ 13:51:
Ik heb het nu gedaan zoals NetForce1 het zei, dat is inderdaad makkelijker en slimmer
@TNT Bomber: JZ heeft al meerdere keren de applicatie bekeken en hij zei er niets van dus hopelijk blijft dat ook zo, ik heb geen tijd meer om ook nog de hele applicatie te gaan veranderen.
Mbv http://balusc.xs4all.nl/srv/dev-jsw-col.html heb ik heel wat codes geprobeerd, maar werken doen ze niet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| public void actionPerformed(ActionEvent e) { if(e.getSource() == b1){ int klNummer = klant.getNummer(); String kl = klant.getNaam(); Bank bank = Bank.getInstance(); Klant klant = bank.getKlant(kl); bank.load(); klanten.add(klNummer, new Klant(klNummer, tf1.getText(), tf2.getText(), tf3.getText(), "")); bank.save(); dispose(); new KlantBeheerGui(); } if(e.getSource() == b2){ dispose(); new KlantBeheerGui(); } } |
Ik heb ook eens op google rondgezocht maar de voorbeelden die ik heb gevonden, ook via de bovengenoemde site gaan over het wijzigen van 1 element blijkbaar, nou weet ik niet of het daaraan ligt dat het niet werkt..
In de Bank klasse een methode setKlant(int nummer, Klant klant) toegevoegd en dat gebruikt om te wijzigen:
1
| bank.setKlant(klNummer, (new Klant(klNummer, tf1.getText(), tf2.getText(), tf3.getText(), ""))); |
[ Voor 3% gewijzigd door Verwijderd op 18-04-2007 19:39 ]
Ik krijg dan een arrayindexoutofboundexception foutmelding.
Ik merk trouwens wel op dat als ik vier klanten heb en ik de 3e klant verwijder dat de vierde klant dan zijn klantnummer krijgt en als ik die dan probeer te verwijderen krijg ik dat foutmelding.
Wijziging gegevens klasse
1
2
3
4
5
6
7
8
9
10
11
12
| else if(e.getSource() == b2){ int reply = JOptionPane.showConfirmDialog(null, "Weet je zeker dat je de account van " + tf1.getText() + " uit het database wilt verwijderen?", "Verwijderen Account", JOptionPane.YES_NO_OPTION); if(reply == JOptionPane.YES_OPTION){ dispose(); bank.load(); bank.verwijderKlant(klNummer); bank.save(); new KlantBeheerGui(); } } |
Bank:
1
2
3
4
| public void verwijderKlant(int nummer){ klanten.remove(nummer); save(); } |
ik zeg het nog een keer: check eens een HashMap als vervanging voor je Vector. Dat werkt veel intuitiever en is vermoedelijk oom nog eens sneller.
Do diamonds shine on the dark side of the moon :?
Ik dacht al zoiets dat klantnummer geen index zou zijn
public Object remove(int index)
"Removes the element at the specified position in this Vector. shifts any subsequent elements to the left (subtracts one from their indices). Returns the element that was removed from the Vector."
Hmm.. ik weet eigenlijk niet hoe ik het dan moet oplossen, ik dacht dat het met de klantnummer goed zat
1
2
3
| public Vector getKlanten() { return new Vector(clientsById.values()); } |
Als dit niet gaat lukken zul je bij het verwijderen over al je klanten moeten lopen en het klantnr vergelijken:
1
2
3
4
5
6
7
8
9
| public void verwijderKlant(int klantNr) { Iterator<Klant> it = klantent.iterator(); while (it.hasNext()) { if (it.next().getNummer() == klantNr) { it.remove(); return; } } } |
Of nog makkelijker, geef gewoon de klant mee:
1
2
3
| public void verwijderKlant(Klant klant) { klanten.remove(klant); } |
Voor deze laatste methode moet je wel equals overriden in Klant (zie javadoc van Object)
1
2
3
4
5
6
7
8
9
| public boolean equals(Object that) { if (that == this) { return true; } if (that == null || !(that instanceof Klant)) { return false; } return Klant.class.cast(that).getNummer() == this.getNummer(); } |
verhaaltje over equals
[ Voor 20% gewijzigd door NetForce1 op 18-04-2007 21:10 ]
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Do diamonds shine on the dark side of the moon :?
Ja, dat casten kan vanaf java 5, daar werd ik laatst op gewezen door een collega. Bij de traditionele manier van casten krijg je vaak een woud van haakjes wat het geheel niet echt leesbaarder maakt.voodooless schreef op woensdag 18 april 2007 @ 21:16:
Dat laatste is alleen nodig als je meerdere instanties van de zelfde klant hebt natuurlijk. Vage manier van casten trouwensZo leer je nog eens wat.
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Om Klantgegevens te wijzigen krijg je eerst een Gui waarin je uit een dropdown box een klant selecteert en als je op OK klikt wordt je doorgestuurd naar de andere GUI met de gegevens. Het probleem is dat als ik een klant wijzig dat de laatste klant van de dropdown box wordt gewijzigd. Ik denk zelf dat het hetzelfde probleem is als van net omdat ik hier ook klantnummer als index had gebruikt.
Gui om klant te selecteren
1
2
3
4
5
6
7
8
9
10
| if(e.getSource() == b1){ String kNaam = (String) box1.getSelectedItem(); Bank bank = Bank.getInstance(); Klant klant = bank.getKlant(kNaam); new KlantGegevensWijzigenGui(klant); dispose(); } |
Gegevens wijzigen Gui
1
2
3
4
5
6
7
8
9
10
11
12
| public void actionPerformed(ActionEvent e) { Bank bank = Bank.getInstance(); int klNummer = klant.getNummer(); if(e.getSource() == b1){ bank.load(); bank.setKlant(klNummer, (new Klant(klNummer, tf1.getText(), tf2.getText(), tf3.getText(), ""))); bank.save(); dispose(); new KlantBeheerGui(); } |
Ik denk zelf dat dit zou moeten werken:
1
2
3
4
5
6
7
8
9
10
11
| public void setKlant(int nummer, Klant klant){ Iterator<Klant> it = klanten.iterator(); while (it.hasNext()) { if (it.next().getNummer() == nummer) { klanten.set(....index...., klant); return; } save(); } } |
Maar wat moet daar dan als index worden ingevoerd?
Do diamonds shine on the dark side of the moon :?
1
2
3
4
5
6
7
8
| public void setKlant(int nummer, Klant klant) { if (klanten.contains(klant)) { klanten.set(klanten.indexOf(klant), klant); //let op: hiervoor moet equals geimplementeerd zijn op Klant } else { klanten.add(klant); } save(); } |
Maar dit hoeft allemaal helemaal niet nodig te zijn. Als je ervoor zorgt dat je altijd maar een instantie van een bepaalde klant hebt zijn wijzigingen op dat object ook doorgewerkt in de lijst. De variabele 'klant' waarmee je bezig bent is niets anders dan een verwijzing naar een object van het type Klant. Het element in de vector heeft ook een verwijzing naar ditzelfde object. Wijzigingen die je doet via de ene variabele zijn dan dus overal doorgewerkt waar een verwijzing naar dat object gebruikt wordt.
Bovenstaande is wellicht een beetje moeizaam uitgelegd, er zijn gelukkig talloze tutorials en leraren die dat beter kunnen dan ik
Je hoeft in je actionPerformed dus geen nieuw Klant object aan te maken. Doe je wijziging op het object wat je daar al hebt en roep dan bank.save() aan.
setters toch zeker?voodooless schreef op woensdag 18 april 2007 @ 21:48:
Waarm is er een methode setklant die steeds de klant overschrijft? Je kunt gewoom met getters de klant aanpassen, is veeeeeel makkelijker. Wat je nu doet gaat inderdaad fout.
[ Voor 12% gewijzigd door NetForce1 op 18-04-2007 22:01 ]
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
anyway, ik was net beizg het bovenstaande verhaal ook nog eens te verduidelijken toen iemand mij belde, en dus mijn browser werd gesloten
En natuurlijk bedoel ik setters i.p.v getters. Gebruik eclipse, dan kun je dat soort dingen heel makkelijk genereeren!
[ Voor 7% gewijzigd door voodooless op 18-04-2007 22:10 ]
Do diamonds shine on the dark side of the moon :?
Dit is wat ik er ongeveer uithaal, maar de waarde blijft gewoon hetzelfde:
1
2
3
4
5
6
7
8
9
10
11
| public void actionPerformed(ActionEvent e) { Bank bank = Bank.getInstance(); int klNummer = klant.getNummer(); if(e.getSource() == b1){ klant.getNaam(); bank.save(); dispose(); new KlantBeheerGui(); } |
Waarschijnlijk is het weer iets knulligs wat ik niet doorheb
edit: aah ik dacht zelf ook aan setters maar ik probeerde zelf klant.getNaam(); = klant.setNaam(); en dat werkte niet (
Nu maar eens met setters proberen weer.
edit2:
Dat werkt inderdaad, veel makkelijker ook nog
Ongelooflijk dat ik al uren met dit allemaal bezig ben..
1
2
| String klantNaam = tf1.getText(); klant.setNaam(klantNaam); |
[ Voor 27% gewijzigd door Verwijderd op 18-04-2007 22:17 ]
Ik heb inderdaad niet nog zoveel les van docenten genoten in de edele kunsten van het programmeer vak. Ik heb drie vakken gedaan op de eur met vrij hoog 'inleiding'-gehalte, maar ik had wel het idee dat de docenten wisten waar ze het over hadden. Ik had het overigens niet over mijn kennis, maar meer over mijn uitleg. Ik heb bij dit soort dingen regelmatig het idee dat het te wazig gaat worden als ik het in 'gewone mensen taal' probeer uit te leggen.voodooless schreef op woensdag 18 april 2007 @ 22:07:
Heb niet de illusie dat docenten dat beter kunnen. Je gaat me niet wijs maken dat al die kennis van je afkomstig is van een docent. Ik durf wel te wedden dat je het meest zelf ontdenkt hebt(het mag ondertussen wel duidelijk zijn wat ik van docenten denk
( uizonderingen zullen ook hier de regel wel bevestigen). Toen mijn docent me vertelde dat ie mijn UML diagram niet snapte, dat het te ingewikkeld was en nooit ging werken, heb ik allw hoop verloren. Zeker toen drie weken later de applicatie af was, volgens het UML diagram werkte, en ook nog eens prima presteerde
Tjonge, dat valt dan weer alles meeanyway, ik was net beizg het bovenstaande verhaal ook nog eens te verduidelijken toen iemand mij belde, en dus mijn browser werd geslotenNouja, jou uitleg is toch duidelijker
Mooi!Verwijderd schreef op woensdag 18 april 2007 @ 22:11:
Dat werkt inderdaad, veel makkelijker ook nog![]()
Ongelooflijk dat ik al uren met dit allemaal bezig ben..
Java:
1 2 String klantNaam = tf1.getText(); klant.setNaam(klantNaam);
Ik raad je overigens ten zeerste aan om duidelijke namen te gebruiken voor je variabelen. Dat komt de onderhoudbaarheid van je applicaties (en leesbaarheid voor de docent) zeker ten goed. Dus niet tf1 maar nameField bijv. en okButton of okBtn ipv b1.
[ Voor 16% gewijzigd door NetForce1 op 18-04-2007 22:27 ]
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Tja, soms is het zo simpel dat je het gewoon niet ziet. Mijn drie "regels" bieden dan vaak wel uitkomst
@netforce1: je mag je dan gelukkig prijzen. mijn docenten hadden de meeste tijd amper een idee waar ze mee bezig waren
[ Voor 52% gewijzigd door voodooless op 18-04-2007 22:29 ]
Do diamonds shine on the dark side of the moon :?
Verwijderd
Tsja dat kan een behoorlijke domper zijn als je nog altijd de illusie hebt dat de docent er een vmbo_presenteerblaadjes_methodiek op na dient te houden. Dat afvallen op docenten betekent enkel dat je het zelf (nog) niet hebt begrepen.voodooless schreef op woensdag 18 april 2007 @ 22:22:
@netforce1: je mag je dan gelukkig prijzen. mijn docenten hadden de meeste tijd amper een idee waar ze mee bezig warenMeer dan de collegestof kenden ze niet. Het was dan ook zinloos om eens een keer een echt interessante vraag te stellen
't is zelfs een keer zo erg geweest dat we met een groepje midden in de les het lokaal zijn uitgelopen
Dat werd ons natuurlijk niet in dank afgenomen
Dat is natuurlijk wel wat kort door de bocht. Een docent is nog altijd iemand die zijn/haar leerlingen kennis bij dient te brengen. Op wat voor manier of met welke methodiek doet er niet toe. Als een docent dan het werk van een leerling niet begrijpt is hij (de docent) duidelijk niet goed bezig en heeft de docent niet niet helemaal begrepen wat eigenlijk zijn vak is.Verwijderd schreef op donderdag 19 april 2007 @ 08:50:
[...]
Tsja dat kan een behoorlijke domper zijn als je nog altijd de illusie hebt dat de docent er een vmbo_presenteerblaadjes_methodiek op na dient te houden. Dat afvallen op docenten betekent enkel dat je het zelf (nog) niet hebt begrepen.
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Seriously... Als mijn docenten me zouden hebben aangespoord om zelf dingen te leren, dan hadden de meesten mensen uit mijn klas veel meer geleerd dan ze hebben gedaan. Het waren de weinigen die zelf initiatief tonen en de zaken zelf uitzochten buiten de les en de docent om, die het uiteindelijk konden en er wat van gemaakt hadden. De docent had daar 0.0 mee te maken. Als je die namelijk wat vroeg uit interesse wat iets buiden de stof om ging, dan wisten ze dat niet. Lees ook mijn UML verhaal nog een keer Dat heeft niets te maken met vmbo_presenteerblaadjes_methodiek, maar gewoon met oude stoffige docenten die al jaren uit het bedrijfsleven zijn (of er misschien nooit hebben mogen vertoeven) en nooit meer hebben geleerd dan hun lesstof die ze moeten aanbieden... 'T is triest maar waar, en vast geen uitzondering.Verwijderd schreef op donderdag 19 april 2007 @ 08:50:
Tsja dat kan een behoorlijke domper zijn als je nog altijd de illusie hebt dat de docent er een vmbo_presenteerblaadjes_methodiek op na dient te houden. Dat afvallen op docenten betekent enkel dat je het zelf (nog) niet hebt begrepen.
Als ik dus iets niet begrepen heb kan ik maar een ding zeggen: Halleluja!
[ Voor 3% gewijzigd door voodooless op 19-04-2007 09:46 ]
Do diamonds shine on the dark side of the moon :?
Verwijderd
[ Voor 7% gewijzigd door Verwijderd op 19-04-2007 11:38 ]
Nee, de docenten begrepen het gewoon simpelweg niet! Ze hadden geen idee over waar ze zelf les in gaven. Wat feit is: het programma werkte perfect, was eigenlijk helemaal niet ingewikkeld, en wij waren was verreweg het snelste klaar van alle projecten (weken eerder dan de rest), met de meeste features en functionaliteit en de minste bugs.Verwijderd schreef op donderdag 19 april 2007 @ 11:38:
Juist je UML verhaal geeft aan dat je het niet begrepen hebt. Je kunt namelijk nog zoveel kanten op met de uitleg "gaat nooit werken, te ingewikkeld". Waarschijnlijk heb je gewoon overdreven je best gedaan en er nog steeds niet van geleerd.
Ik vraag me dus echt af wat ik dan had moeten begrijpen
Misschien heb ik gewoon pech gehad ofzo... Ervaring van mensen om mij heen leert echter dat mijn verhaal geen uitzondering is.
Hiermee wil ik dus zeker niet zeggen dat er geen goede docenten zijn. Ook die ben ik er genoeg tegengekomen gelukkig
[ Voor 19% gewijzigd door voodooless op 19-04-2007 12:29 ]
Do diamonds shine on the dark side of the moon :?
Beetje kort door de bocht Mark, hoe triest ook, vaak worden docenten ingezet voor vakken waar ze eigenlijk onvoldoende ervaring mee hebben. Ze baseren zich dan op een korte zelf-stoom-cursus of lesstof van een vorige docent die er niet meer werkt oid. Want ja, het vak moet immers gewoon doorgaan. Ik ben het met je eens dat opmerkingen als "pff, docenten snappen er echt niets van" vaak niet helemaal terecht zijn, maar dat betekent tevens niet dat ze altijd onterecht zijnVerwijderd schreef op donderdag 19 april 2007 @ 08:50:
[...]
Tsja dat kan een behoorlijke domper zijn als je nog altijd de illusie hebt dat de docent er een vmbo_presenteerblaadjes_methodiek op na dient te houden. Dat afvallen op docenten betekent enkel dat je het zelf (nog) niet hebt begrepen.
Those who can, do. Those who can't, teach.
Neem bovenstaande quote ook met een korrel zout
[ Voor 3% gewijzigd door .oisyn op 19-04-2007 12:24 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Verwijderd
Hier ben ik het logischerwijs mee eens..oisyn schreef op donderdag 19 april 2007 @ 12:21:
Ik ben het met je eens dat opmerkingen als "pff, docenten snappen er echt niets van" vaak niet helemaal terecht zijn, maar dat betekent tevens niet dat ze altijd onterecht zijn
Het ging mij natuurlijk om het tegengas geven. Want ervaring van een persoon heeft namelijk geen enkele waarde als argument. Immers, zijn of haar ervaring een te kleine steekproef om ook maar enigzins een conclusie te kunnen trekken.
Imho zie je dat vooral op HBO's, puur omdat docenten daar 100% docent zijn. Bij universiteiten is het lesgeven slechts een deel van de werkzaamheden. Aangezien ze daarnaast vooral bezig zijn met het onderzoek doen naar nieuwe technieken en het uitvogelen van andere nieuwe ontwikkelingen weten die mensen vaak weer wel waar ze het over hebben.Those who can, do. Those who can't, teach.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Helemaal mee eens. Op de uni heb ik inderdaad andere ervaringen gemaakt dan op het HBO.Janoz schreef op donderdag 19 april 2007 @ 13:37:
Imho zie je dat vooral op HBO's, puur omdat docenten daar 100% docent zijn. Bij universiteiten is het lesgeven slechts een deel van de werkzaamheden. Aangezien ze daarnaast vooral bezig zijn met het onderzoek doen naar nieuwe technieken en het uitvogelen van andere nieuwe ontwikkelingen weten die mensen vaak weer wel waar ze het over hebben.
Do diamonds shine on the dark side of the moon :?
We gaan eigenlijk best wel offtopic hierzo tho.
Do diamonds shine on the dark side of the moon :?
Erg late reactie, maar presentatie was niet echt goed verlopen, maar omdat we veel pech hadden gehad met hebben we uitstel gekregen en over twee weken, na de vakantie dus hebben nog een laatste kans.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Niet opletten in de klas heb je wel gelijk in, maar met 5 mensen in een groep beginnen en er met 2 eindigen is normaal?Janoz schreef op vrijdag 27 april 2007 @ 10:48:
Pech gehad? Als je in de klas gewoon niet hebt lopen opletten en nu 'op je bek gaat' daardoor wil ik neit echt van pech spreken. Ik hoop echter dat jullie hier wat van geleerd hebben en de volgende keer wel opletten.
Maar goed, zolang je hiervan hebt geleerd is het alleen maar goed natuurlijk. Volgende keer gewoon opletten en niet pas om de figuurlijke 5 voor twaalf eens met de opdracht beginnen.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Ja meesterJanoz schreef op vrijdag 27 april 2007 @ 12:05:
Maar goed, zolang je hiervan hebt geleerd is het alleen maar goed natuurlijk. Volgende keer gewoon opletten en niet pas om de figuurlijke 5 voor twaalf eens met de opdracht beginnen.
* voodooless stond er vaak zat alleen voor met projecten omdat de rest er de ballen van snapte. Is toch ook wel weer leuk om anderen wat bij te brengen
[ Voor 19% gewijzigd door voodooless op 27-04-2007 12:38 ]
Do diamonds shine on the dark side of the moon :?
Verwijderd
Ik hou wel van uitslovers in mijn team. Dan hoef ik minder te doen.voodooless schreef op vrijdag 27 april 2007 @ 12:36:
* voodooless stond er vaak zat alleen voor met projecten omdat de rest er de ballen van snapte. Is toch ook wel weer leuk om anderen wat bij te brengen
Dat is nu precies de rede waarom het dan vaak op niets uitloopt. Iedereen wacht maar tot er iemand opstaat om eindelijk eens wat te doen... Uiteindelijk heb je het dan gewoon niet af en zit je met de gebakken peren.Verwijderd schreef op vrijdag 27 april 2007 @ 13:06:
Ik hou wel van uitslovers in mijn team. Dan hoef ik minder te doen.
Do diamonds shine on the dark side of the moon :?
Verwijderd
Hoe zou het dan verbeterd kunnen worden?voodooless schreef op vrijdag 27 april 2007 @ 13:44:
Dat is nu precies de rede waarom het dan vaak op niets uitloopt. Iedereen wacht maar tot er iemand opstaat om eindelijk eens wat te doen... Uiteindelijk heb je het dan gewoon niet af en zit je met de gebakken peren.
[ Voor 17% gewijzigd door .oisyn op 27-04-2007 14:40 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
En dat is na je schooltijd in het bedrijfsleven anders omdat...?voodooless schreef op vrijdag 27 april 2007 @ 13:44:
[...]
Dat is nu precies de rede waarom het dan vaak op niets uitloopt. Iedereen wacht maar tot er iemand opstaat om eindelijk eens wat te doen... Uiteindelijk heb je het dan gewoon niet af en zit je met de gebakken peren.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Omdat het in het bedrijfsleven nog erger is. Bij de klant waar ik nu zit hebben ze afgelopen zaterdag weer met 15 man de hele dag gewerkt. De week daarvoor hetzelfde verhaal.Janoz schreef op vrijdag 27 april 2007 @ 14:44:
[...]
En dat is na je schooltijd in het bedrijfsleven anders omdat...?
Op school liepen er nog veel lamstralen rond. Die heb ik (samen met nog een stel mensen die ook bereid waren te werken) de bal lekker teruggekaatst omdat ze lekker het project over mochten doen.
In het bedrijfsleven zie ik niet veel lamstralen meer. De ene leest iets meer blogs dan de andere en de andere staat iets vaker bij de koffieautomaat, maar uiteindelijk is iedereen bereid om hard te werken. (en terecht) Dat planningen altijd te krap zijn, staat daar op zich los van.
Fat Pizza's pizza, they are big and they are cheezy
Ik heb dat zelf ook meegemaakt. Voor een bepaald vak zit er een docent in de collegezaal welke dan een trimester later zelf hetzelfde vak mag geven. Het verschil is alleen dat een dergelijke docent niet hoeft te blokken voor een tentamen en al helemaal geen practica gaat lopen doen, en dus gewoon enorm weinig opsteekt..oisyn schreef op donderdag 19 april 2007 @ 12:21:
Beetje kort door de bocht Mark, hoe triest ook, vaak worden docenten ingezet voor vakken waar ze eigenlijk onvoldoende ervaring mee hebben. Ze baseren zich dan op een korte zelf-stoom-cursus of lesstof van een vorige docent die er niet meer werkt oid. Want ja, het vak moet immers gewoon doorgaan. I
Ik heb zelf informatica (HIO) gedaan in Enschede, en daar waren er maar een paar docenten welke zelf begrepen waar ze mee bezig waren. Een groot deel van wat daar doceerde waren gewoon mensen die het nooit zouden halen in het bedrijfsleven, en ook geen flauw benul hebben van wat daar precies speelt. De stof liep ook een jaar of 10 achter op de werkelijkheid.
https://niels.nu
Waar staat dat dat anders is in het bedrijfslevenJanoz schreef op vrijdag 27 april 2007 @ 14:44:
En dat is na je schooltijd in het bedrijfsleven anders omdat...?
Do diamonds shine on the dark side of the moon :?
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'