Thanks. Zal even kijken!quote:
Tja, ik studeer informatica en we gaan in dit blok aan de slag met c#. Verder ken ik html, css, javascript, jquery.quote:Op woensdag 12 september 2018 09:45 schreef cablegunmaster het volgende:
[..]
wat kan je al met programmeren?
Om in 1x C# te leren is best ingewikkeld, en heb je al gekeken op youtube? of daar cursussen zijn?
Hoeveel tijd wil je eraan besteden?
Als je wilt mag je hem overnemen van me, heb hem hier liggen.quote:Op woensdag 12 september 2018 11:17 schreef Luppie0110 het volgende:
[..]
Thanks. Zal even kijken!
[..]
Tja, ik studeer informatica en we gaan in dit blok aan de slag met c#. Verder ken ik html, css, javascript, jquery.
Op Youtube is zat te vinden, alleen interactieve cursussen (zoals op Codecademy) werken voor mij erg prettig.
Heb hem zelf even als pdf gedownload. Toch bedankt!quote:Op woensdag 12 september 2018 11:32 schreef DevFreak het volgende:
[..]
Als je wilt mag je hem overnemen van me, heb hem hier liggen.
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
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 | using System; namespace Opdracht3_week2 { class Program { static void Main(string[] args) { Console.Write("Geef aantal seconden "); // 1 uur = 3600 sec // 1 minuut = 60 sec string invoerSeconde = Console.ReadLine(); int seconde = int.Parse(invoerSeconde); int uur = seconde / 3600; // Geeft hier een invalid expression int aan?? seconde = seconde % 3600; int minuten = seconde / 60; seconde = seconde % 60; Console.WriteLine("{0:0}{1:00}{2:00}", uur.ToString(), minuten.ToString(), seconde.ToString()); Console.ReadKey(); } } } |
Ik zou niet weten wat hier fout aan is.quote:Op woensdag 12 september 2018 20:28 schreef Luppie0110 het volgende:
[ afbeelding ]
In integer past geen breuk idd, maar c# zal bv 1.2 afronden naar 1.
1 2 3 4 5 6 7 8 9 10 11 | class Paneel extends JPanel{ int i = 0; public void paintComponent(Graphics g){ super.paintComponent(g); while(i < 10){ repaint(); g.drawString("Het nummer is: "+i, 40, 40); i++; } } |
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 | /* Maak een programma dat de temperatuur bijhoudt en laat oplopen tot 30 graden. * De temperatuur is in het begin 15 graden. Zolang de temperatuur onder de 24 graden * is, krijg je de melding “Het is nu … graden”. Bij 24 graden begint het toch wel * een beetje warm te worden en geeft het programma de melding “Het is boven de 24 graden!”. * Maak uiteraard gebruik van de while-loop. */ //juiste import import javax.swing.*; import javax.swing.border.*; import java.awt.*; import java.awt.event.*; //main class public class w5d22 extends JFrame { public static void main( String args[] ) { JFrame frame = new w5d22(); frame.setSize( 400, 200 ); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setTitle( "Oefening: temperaturen" ); frame.setContentPane( new Paneel(15) ); frame.setVisible( true ); } } // Paneel class Paneel extends JPanel { private int temperatuur; public Paneel(int t){ temperatuur = t; } public void paintComponent(Graphics g){ super.paintComponent(g); //Zet de waarden op het scherm: while(temperatuur < 30){ if(temperatuur < 24){ System.out.println("Het is nu " + temperatuur + " graden"); repaint(); g.drawString("Het is nu " + temperatuur + " graden", 40, 40); } else if(temperatuur <30){ System.out.println("Het is boven de 24 graden!"); repaint(); g.drawString("Het is boven de 24 graden!", 40, 40); } else{ System.out.println("Er gaat iets mis!"); repaint(); g.drawString("Er gaat iets mis!", 40, 40); } temperatuur++; } } } |
Je hebt helemaal gelijk waar is je redraw / repaint() functie?quote:Op donderdag 13 september 2018 13:14 schreef uppie83 het volgende:
In mijn Java cursus heb ik een opdracht gekregen. In de voorbeeldcode stond dat het volgende zou moeten werken:
[ code verwijderd ]
Voor mijn opdracht moest ik vervolgens het volgende maken (zie bovenste comments):
[ code verwijderd ]
De System.out.println; statements heb ik zelf toegevoegd en die werken goed. Ik krijg echter niets te zien op mijn panel
Het eerste stuk code is alle uitleg die ik gekregen heb Ook in eerdere stukken is er niets anders behandeld dan repaint() en g.drawString. En dan nog niets eens wat ze exact doen, of hoe je het verder gebruikt, maar meer als copy en paste code en ga er maar mee aan de slag.quote:Op donderdag 13 september 2018 15:13 schreef cablegunmaster het volgende:
[..]
Je hebt helemaal gelijk waar is je redraw / repaint() functie?
Voor elke wijziging moet je redraw uitvoeren.
https://docs.oracle.com/j(...)mponent.html#repaint(java.awt.Rectangle)quote:Op donderdag 13 september 2018 16:17 schreef uppie83 het volgende:
[..]
Het eerste stuk code is alle uitleg die ik gekregen heb Ook in eerdere stukken is er niets anders behandeld dan repaint() en g.drawString. En dan nog niets eens wat ze exact doen, of hoe je het verder gebruikt, maar meer als copy en paste code en ga er maar mee aan de slag.
Maar is repaint() geen functie die ik importeer? Moet ik die zelf nog schrijven?
1 2 | this.validate(); this.repaint(); |
Bedankt voor de uitgebreide uitleg. Als ik je goed begrijp kan ik dus repaint() aanroepen binnen mijn JPanel class. Volgens de links wordt het aangegeven deel overschreven (wederom als ik het goed begrijp :p ).quote:Op donderdag 13 september 2018 17:06 schreef cablegunmaster het volgende:
[..]
https://docs.oracle.com/j(...)mponent.html#repaint(java.awt.Rectangle)
Het is een standaard functie van de Java Swing JComponent die JPanel kan gebruiken. dus gebruik je "this.repaint();" Zie de https://docs.oracle.com/javase/7/docs/api/javax/swing/JPanel.html documentatie functies die je direct kan gebruiken met JPanel, door de overervingen die JPanel zelf heeft.
Anders kan je het ook op je JFrame doen, door die te refreshen , of te "revalidate()" functie aan te roepen.
bijv na alle veranderingen onderaan in je while loop dit toe te voegen.
[ code verwijderd ]
Ik ken Java niet, en ik zit mobiel dus een beetje moeilijk op te zoeken maar ik geloof dat er dit gebeurt;quote:Op donderdag 13 september 2018 13:14 schreef uppie83 het volgende:
In mijn Java cursus heb ik een opdracht gekregen. In de voorbeeldcode stond dat het volgende zou moeten werken:
[ code verwijderd ]
Voor mijn opdracht moest ik vervolgens het volgende maken (zie bovenste comments):
[ code verwijderd ]
De System.out.println; statements heb ik zelf toegevoegd en die werken goed. Ik krijg echter niets te zien op mijn panel
https://stackoverflow.com(...)-paintcomponent-workquote:Op donderdag 13 september 2018 21:41 schreef embedguy het volgende:
Volgens mij klopt je logica ook niet helemaal. In de while loop staan allemaal repaints die niets doen en je print alle tekst op elkaar; al zou er iets geprint worden, dan zul je geen 15 regels tekst te zien krijgen. Dan krijg je waarschijnlijk maar één regel te zien waar niets van te lezen valt.
Volgens mij hoef je helemaal geen repaint() aan te roepen, niet in de paintComponent method iig.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import MainPanel; import javax.swing.*; public class Main { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(400, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setTitle("Oefening: temperaturen"); MainPanel paneel = new MainPanel(0); frame.setContentPane(paneel); frame.setVisible(true); paneel.increaseTemperature(); } } |
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 | import javax.swing.*; import java.awt.*; public class MainPanel extends JPanel { private int temp; private JLabel label = new JLabel("text"); public MainPanel(int t) { temp = t; this.setLayout(new FlowLayout()); this.add(label); } public void increaseTemperature(){ while (temp < 30) { //wait 0.5 seconde (500 milliseconds) try{ Thread.sleep(500); }catch(InterruptedException e) { } if (temp < 24) { System.out.println("Het is nu " + temp + " graden"); label.setText("Het is nu " + temp + " graden"); } else if (temp > 24) { System.out.println("Het is boven de 24 graden!"); label.setText("Het is boven de 24 graden!"); } else{ System.out.println("Er gaat iets mis!"); label.setText("Er gaat iets mis!"); } temp++; repaint(); } } //heb je niet nodig. public void paintComponent(Graphics g) { super.paintComponent(g); //Zet de waarden op het scherm: } } |
Maar net wat je aanhoudt toch? Persoonlijk vind ik nl comments minstens zo brrr... als nl variabele namen. Waarom zou het netter zijn om die twee stijlen te combineren? Doe dan alles in nl zoals uppie doet.quote:Op vrijdag 14 september 2018 10:19 schreef cablegunmaster het volgende:
[..]
waarom is er NL in je code? Dat is echt lelijk om te zien. (commentaar is 1 ding maar NL variabelen is gewoon stom. Ik zie het bij de belasting dienst nog wel gebeuren maar dat is gewoon brrr.. rillerig.
En ow; je hebt door dat je nu zijn schoolopdracht hebt gemaakt zonder dat hij het hoefde te begrijpen ?quote:Op vrijdag 14 september 2018 10:19 schreef cablegunmaster het volgende:
[..]
https://stackoverflow.com(...)-paintcomponent-work
Dit legt het veel beter uit. komt erop neer dat het zou werken als je het uit je "Paint" functie haalt.
Main.java (starter)
[ code verwijderd ]
MainPanel.java
[ code verwijderd ]
3 dingen die me opvallen ,
A Hoe ben je op het idee gekomen van Paint?
B Hoe kan dit ooit werken zonder een "wacht" functie? Als ik dit nu opstart op jou manier zou het al klaar zijn en zou je de "incrementele" functie niet eens zien.
C Welke opleidings niveau is dit? En waarom is er NL in je code? Dat is echt lelijk om te zien. (commentaar is 1 ding maar NL variabelen is gewoon stom. Ik zie het bij de belasting dienst nog wel gebeuren maar dat is gewoon brrr.. rillerig.
Mwhoah , dat is niet zo erg hij moet het daarna uitleggen wat het allemaal doet, en opzoeken waarom . Hij/zij zat al op de goede weg maar soms heb je een duwtje nodig in de goede weg, en dan helpt het om wat meer voorbeelden te zien.quote:Op vrijdag 14 september 2018 18:21 schreef embedguy het volgende:
[..]
En ow; je hebt door dat je nu zijn schoolopdracht hebt gemaakt zonder dat hij het hoefde te begrijpen ?
En als je een exceptie krijgt tijdens het sleepen, wil je dan niet juist dat hij 'ontploft' ipv dat je de exceptie afvangt en ignored? Geen idee verder hoe dat in Java werkt, maar klinkt onlogisch. Ik zou minstens een return verwachten.
true 👍quote:Op vrijdag 14 september 2018 23:15 schreef cablegunmaster het volgende:
[..]
Mwhoah , dat is niet zo erg hij moet het daarna uitleggen wat het allemaal doet, en opzoeken waarom . Hij/zij zat al op de goede weg maar soms heb je een duwtje nodig in de goede weg, en dan helpt het om wat meer voorbeelden te zien.
Omdat ik voor 1 februari mijn OCA moet halen voor een nieuwe baan in een voor mij compleet nieuwe richting, ben ik begonnen met zelfstudie Java. Als eerste stap zag ik dat ze bij Online Academy een starterstraining Java aanbieden en ben deze gaan volgen.quote:Op vrijdag 14 september 2018 10:19 schreef cablegunmaster het volgende:
[..]
https://stackoverflow.com(...)-paintcomponent-work
Dit legt het veel beter uit. komt erop neer dat het zou werken als je het uit je "Paint" functie haalt.
Main.java (starter)
[ code verwijderd ]
MainPanel.java
[ code verwijderd ]
3 dingen die me opvallen ,
A Hoe ben je op het idee gekomen van Paint?
B Hoe kan dit ooit werken zonder een "wacht" functie? Als ik dit nu opstart op jou manier zou het al klaar zijn en zou je de "incrementele" functie niet eens zien.
C Welke opleidings niveau is dit? En waarom is er NL in je code? Dat is echt lelijk om te zien. (commentaar is 1 ding maar NL variabelen is gewoon stom. Ik zie het bij de belasting dienst nog wel gebeuren maar dat is gewoon brrr.. rillerig.
Van het boek dat wij gebruikten voor de eerste 2 courses programmeren in Java is het boek online te vinden, laat maar weten als je interesse hebt om die eens door te nemen. Was voor mijzelf een prima boek, iets meer wiskunde dan de meeste boeken wel maar prima door te komen.quote:Op zaterdag 15 september 2018 15:03 schreef uppie83 het volgende:
[..]
Omdat ik voor 1 februari mijn OCA moet halen voor een nieuwe baan in een voor mij compleet nieuwe richting, ben ik begonnen met zelfstudie Java. Als eerste stap zag ik dat ze bij Online Academy een starterstraining Java aanbieden en ben deze gaan volgen.
Dit is echter een niet al te jofele training. Dag 1 kreeg ik al twee bestanden aangeleverd (zie mijn eerdere vraag hier) met als enige uitleg dat ik de JDK nodig heb om ze te compilen en te runnen. Dag 2 werd mij verteld dat ik Netbeans moest gaan installeren (echter werkt Netbeans niet goed meer sinds het uitkomen van Java 9 ben ik achter gekomen, en dat is al meer dan een jaar geleden). Maar goed, ik heb er voor betaald, dus ik wilde het geheel afmaken.
Na een paar dagen werden al gelijk concepten als JFrame, JPanel, JLabel e.d., maar ook paintComponent en repaint() in de voorbeeldcode gebruikt. Zonder dat dit echt werd uitgelegd. Bij de opdrachten gebruikte ik dus maar de stukken voorbeeldcode die ik te zien kreeg, niet wetende dat die voorbeeldcode helemaal niet zou werken als het gecompiled en gerund zou worden. Hoe het wel moet, moest ik dus dan maar zelf uitzoeken. Met Google en jullie hulp ben ik gelukkig al een heel eind gekomen.
Als dit klaar is ga ik verder met het boek Java - A Beginner's Guide 7th edition. Heb al begrepen dat het best pittig is om de OCA te behalen.
1 Om je vraag beter te formuleren: "Wat is extenden en wanneer heb ik dit nodig, en wanneer niet?" want dat zit er achter je eerste vraag:"Wat je zelf doet met het extenden je maakt een object aan wanneer je het programma start dan "extend je van JFrame" en dan is er een object dat ook een JFrame Object is.quote:Op zaterdag 15 september 2018 15:03 schreef uppie83 het volgende:
[..]
Omdat ik voor 1 februari mijn OCA moet halen voor een nieuwe baan in een voor mij compleet nieuwe richting, ben ik begonnen met zelfstudie Java. Als eerste stap zag ik dat ze bij Online Academy een starterstraining Java aanbieden en ben deze gaan volgen.
Dit is echter een niet al te jofele training. Dag 1 kreeg ik al twee bestanden aangeleverd (zie mijn eerdere vraag hier) met als enige uitleg dat ik de JDK nodig heb om ze te compilen en te runnen. Dag 2 werd mij verteld dat ik Netbeans moest gaan installeren (echter werkt Netbeans niet goed meer sinds het uitkomen van Java 9 ben ik achter gekomen, en dat is al meer dan een jaar geleden). Maar goed, ik heb er voor betaald, dus ik wilde het geheel afmaken.
Na een paar dagen werden al gelijk concepten als JFrame, JPanel, JLabel e.d., maar ook paintComponent en repaint() in de voorbeeldcode gebruikt. Zonder dat dit echt werd uitgelegd. Bij de opdrachten gebruikte ik dus maar de stukken voorbeeldcode die ik te zien kreeg, niet wetende dat die voorbeeldcode helemaal niet zou werken als het gecompiled en gerund zou worden. Hoe het wel moet, moest ik dus dan maar zelf uitzoeken. Met Google en jullie hulp ben ik gelukkig al een heel eind gekomen.
Als dit klaar is ga ik verder met het boek Java - A Beginner's Guide 7th edition. Heb al begrepen dat het best pittig is om de OCA te behalen.
----- edit ------
Heb je code even doorgenomen en nog wat vragen (if you don't mind )
- Ik zie dat je JFrame niet extend, waarom?
- Je maakt in je main class een object MainPanel (in mijn code Paneel), wat ik niet deed. Wat voor verschil maakt dit?
-Ik zie dat jij het geheel in een JLabel print. Terwijl ik met g.drawString maar ergens op het Paneel print. Klopt deze gedachte? Heeft jouw methode de voorkeur?
Een proxy is een proxy (ja echt :p). Maw, je laat het target object ongeroerd en je zet er gewoon iets er overheen (de proxy dus).quote:Op zaterdag 15 september 2018 16:59 schreef FlippingCoin het volgende:
Ik zat zojuist even te kijken naar de nieuwere dingen in javascript (zijn er behoorlijk wat), maar wat is nou een toepassing van een proxy? Je kan toch ook gewoon de getters en setters gebruiken?
vennlig hilsen Flip.
Heb je toevallig een voorbeeldje waar je het voor zou gebruiken?quote:Op zaterdag 15 september 2018 18:24 schreef embedguy het volgende:
[..]
Een proxy is een proxy (ja echt :p). Maw, je laat het target object ongeroerd en je zet er gewoon iets er overheen (de proxy dus).
Ipv dit zou je ook gewoon zelf de proxy kunnen maken dus eigk geen idee wat die proxy toevoegt. Ik kende hem nog niet.
Hmmm, je maakt me nieuwsgierig; ik ga ook even kijken wat er allemaal bij is gekomen.
1. Extend was overbodig want ik voegde niets toe. - is wat ik nu denk te begrijpen.quote:Op zaterdag 15 september 2018 17:50 schreef cablegunmaster het volgende:
[..]
1 Om je vraag beter te formuleren: "Wat is extenden en wanneer heb ik dit nodig, en wanneer niet?" want dat zit er achter je eerste vraag:"Wat je zelf doet met het extenden je maakt een object aan wanneer je het programma start dan "extend je van JFrame" en dan is er een object dat ook een JFrame Object is.
"Main object HEEFT een object dat een JFrame is" daarna toon ik het JFrame , het hoeft niet extended te zijn, ik kan hiermee meerdere JFrames opstarten als ik zou willen, of afsluiten en herstarten bijv.
2. Het verschil is de een start als MAIN object,en het is een andere manier van objecten gebruiken . Je moet Objecten aanmaken om ze te gebruiken. als ik het gewoon direct zeg Mainpaneel mainpaneel dan krijg ik nullpointers.
3.Ja ik gebruik geen g.drawstring omdat ik de paint component niet weet hoe die aangeroepen wordt.
Deze wordt altijd INDIRECT aangeroepen, en CONTINUE aangeroepen, zonder dat ik weet wanneer. dus wil ik het liever zelf beheersen, wanneer het veranderd wordt. Ook iets leuks om op te zoeken "wanneer wordt PAINT Component eigenlijk aangeroepen" ? hoe werkt dit?
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 | /* Maak een programma dat de temperatuur bijhoudt en laat oplopen tot 30 graden. * De temperatuur is in het begin 15 graden. Zolang de temperatuur onder de 24 graden * is, krijg je de melding “Het is nu … graden”. Bij 24 graden begint het toch wel * een beetje warm te worden en geeft het programma de melding “Het is boven de 24 graden!”. * Maak uiteraard gebruik van de while-loop. */ //juiste import import javax.swing.*; import javax.swing.border.*; import java.awt.*; import java.awt.event.*; //main class public class w5d22 extends JFrame { public static void main( String args[] ) { JFrame frame = new w5d22(); frame.setSize( 800, 400 ); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setTitle( "Oefening: temperaturen" ); Paneel paneel = new Paneel(15); frame.setContentPane( paneel ); frame.setVisible( true ); } } // Paneel class Paneel extends JPanel { private int temperatuur; public Paneel(int t){ temperatuur = t; } public void paintComponent(Graphics g){ super.paintComponent(g); int x = 40; //Zet de waarden op het scherm: while(temperatuur < 30){ if(temperatuur < 24){ System.out.println("Het is nu " + temperatuur + " graden"); g.drawString("Het is nu " + temperatuur + " graden", 40, x); } else if(temperatuur <30){ System.out.println("Het is boven de 24 graden!"); g.drawString("Het is boven de 24 graden!", 40, x); } else{ System.out.println("Er gaat iets mis!"); g.drawString("Er gaat iets mis!", 40, x); } temperatuur++; x += 20; } } } |
Die laatste else is unreachable, die kan je schrappen als ik het goed heb.quote:Op zaterdag 15 september 2018 21:20 schreef uppie83 het volgende:
[..]
1. Extend was overbodig want ik voegde niets toe. - is wat ik nu denk te begrijpen.
2. Ik had het object paneel niet netjes aangemaakt.
3. Wat ik er over lees is dat Java zelf bepaald wanneer dat component wordt aangeroepen.
Anyway, ik heb mijn code een soort van werkend!!!!! Volgens mij zorgde repaint() ervoor dat wat g.drawString net getekent had, weer verdween. Nu print ik de boel netjes onder elkaar... maar het is nog niet zo dat een vorige regel die getekent is weer wordt weggehaald om de volgende te tekenen.
[ code verwijderd ]
Zelf zal ik Proxy wss nooit gaan gebruiken .quote:Op zaterdag 15 september 2018 18:40 schreef FlippingCoin het volgende:
[..]
Heb je toevallig een voorbeeldje waar je het voor zou gebruiken?
P.s. codecamp of free code camp of zo heeft een reeks videos van nieuwe features die heb ik gekeken.
Niet heel ongebruikelijk om hem toch te definiëren. Als er een keer een foutje erin sluipt, dan merk je dat ten minste.quote:Op zaterdag 15 september 2018 21:53 schreef FlippingCoin het volgende:
[..]
Die laatste else is unreachable, die kan je schrappen als ik het goed heb.
Ізгі тілектер Flip.
Als er een foutje in je code sluipt? Want die while en else if omvatten een gelijk univerdum toch?quote:Op zondag 16 september 2018 11:52 schreef embedguy het volgende:
[..]
Niet heel ongebruikelijk om hem toch te definiëren. Als er een keer een foutje erin sluipt, dan merk je dat ten minste.
Proxy, symbol en yield kende ik o.a. nog niet in javascript.quote:Op zondag 16 september 2018 11:49 schreef embedguy het volgende:
[..]
Zelf zal ik Proxy wss nooit gaan gebruiken .
MDN heeft wel een aantal mooie voorbeelden; https://developer.mozilla(...)Global_Objects/Proxy
Even de veranderingen bekeken in de EcmaScript standaard waarvan ik nog niet vanaf wist. ES2018 heeft wel leuke toevoegingen wb regular expressions.
Klopt, ik bedoel voor als je dingen in de toekomst gaat aanpassen en je ziet bijv een keer wat over het hoofd. Of als het complexer wordt. Je wilt niet weten hoe vaak er perongeluk ergens bijv. '<' gebruikt ipv '<='. Dan kan zo'n else nog wel eens handig zijn.quote:Op zondag 16 september 2018 12:08 schreef FlippingCoin het volgende:
[..]
Als er een foutje in je code sluipt? Want die while en else if omvatten een gelijk univerdum toch?
Ah oké. Ik zou denk ik gewoon een unit test schrijven voor zo iets. Maar je hebt gelijk voor komemde wijzigingen zou dit handig kunnen zijn alleen dat die wel weet dat in dit geval iig die else nooit bereikt gaat worden dan.quote:Op zondag 16 september 2018 12:17 schreef embedguy het volgende:
[..]
Klopt, ik bedoel voor als je dingen in de toekomst gaat aanpassen en je ziet bijv een keer wat over het hoofd. Of als het complexer wordt. Je wilt niet weten hoe vaak er perongeluk ergens bijv. '<' gebruikt ipv '<='. Dan kan zo'n else nog wel eens handig zijn.
Op zich heb je gelijk. Zelf krijg ik altijd de kriebels van een onafgehandelde staat though :p. In dit geval zou ik overigens gewoon de else if veranderen naar een else.
Teken witte achtergrond,quote:Op zaterdag 15 september 2018 21:20 schreef uppie83 het volgende:
Anyway, ik heb mijn code een soort van werkend!!!!! Volgens mij zorgde repaint() ervoor dat wat g.drawString net getekent had, weer verdween. Nu print ik de boel netjes onder elkaar... maar het is nog niet zo dat een vorige regel die getekent is weer wordt weggehaald om de volgende te tekenen.
quote:Op zondag 16 september 2018 12:17 schreef embedguy het volgende:
[..]
Klopt, ik bedoel voor als je dingen in de toekomst gaat aanpassen en je ziet bijv een keer wat over het hoofd. Of als het complexer wordt. Je wilt niet weten hoe vaak er perongeluk ergens bijv. '<' gebruikt ipv '<='. Dan kan zo'n else nog wel eens handig zijn.
Op zich heb je gelijk. Zelf krijg ik altijd de kriebels van een onafgehandelde staat though :p. In dit geval zou ik overigens gewoon de else if veranderen naar een else.
Aja, mooi voorbeeld. Zelf ook nog even nagedacht; wellicht dat ik hem zelf toch ook nog wel een keer ga gebruiken. Bijv met validatie functionaliteit. Dus dat je de proxy over een 3th party object heen zet en zo de mogelijkheid hebt om te controleren of er wel valide argumenten worden meegegeven aan de methods op dat object.quote:Op zondag 16 september 2018 18:27 schreef FlippingCoin het volgende:
[..]
[ afbeelding ]
Mogelijk heb ik een toepassing voor een proxy gevonden, maar misschien zie ik wat dingen over het hoofd. Het kan trouwens wat netter qua code maar was even om te testen.
Stel je hebt een array in een service, en je hebt in wat controllers wat observers van deze array. Dan zou de proxy kunnen forceren dat bij iedere push naar de array alle observers die waarde toegestuurd krijgen.
Hörmətlə Flip.
Helder, bedankt voor de assistentie!!!!quote:Op zondag 16 september 2018 14:41 schreef cablegunmaster het volgende:
code]
public class w5d22 extends JFrame {
public static void main( String args[] ) {
JFrame frame = new w5d22();
[/code]
Deze 3 regels struikel ik over,
1. je maakt via public void main een new w5d22(); object aan,
ik zou hetzelf apart houden, een Main klasse maken die het object / View aanmaakt. zoals het voorbeeld.
[..]
Teken witte achtergrond,
Teken regel,
Vervolgens teken witte achtergrond,
Teken regel,
Teken witte achtergrond.
Vergeet er niet een soort van wacht in te zetten anders kan het heel snel zijn , als in flits ....eind resultaat.quote:Op maandag 17 september 2018 08:08 schreef uppie83 het volgende:
[..]
Helder, bedankt voor de assistentie!!!!
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 | // use XOR to encode and decode a message class Encode{ public static void main(String[] args){ String msg = "This is a test"; String encMsg = ""; String decMsg = ""; String key = "AbCdEfGh"; int j; System.out.print("Original message: "); System.out.println(msg); //encode the message j = 0; for(int i=0; i < msg.length(); i++){ encMsg = encMsg + (char) (msg.charAt(i) ^ key.charAt(j)); j++; } System.out.print("Encoded message: "); System.out.println(encMsg); //decode the message j = 0; for(int i=0; i < msg.length(); i++){ decMsg = decMsg + (char) (encMsg.charAt(i) ^ key.charAt(j)); j++; } System.out.print("Decoded message: "); System.out.println(decMsg); } } |
Je kan de j variabele ook in de for constructie declareren naast i.quote:Op donderdag 20 september 2018 10:46 schreef uppie83 het volgende:
[ code verwijderd ]
Ik zie even niet waarom int j er voor zorgt dat er een StringIndexOutOfBoundsException komt...
---------
Laat maar, gevonden
String msg komt natuurlijk op een gegeven moment op index 8, welke niet bestaat bij String key.
encodeKeyquote:Op donderdag 20 september 2018 15:14 schreef FlippingCoin het volgende:
Ik zou trouwens ook vast wennen aan om je variabelen een wat beschrijvendere naam te geven. En dan niet i of j want dat is wel vrij ganbaar voor een iterator, maar key bijvoorbeeld.
Ja, volgens clean code kan je beter een langere beschrijvende naam hebben dan een korte als key, key wordt op zoveel manieren gebuikt. Nu is dit een triviaal voorbeeld waardoor je maar een paar regels context hebt maar wel goed om aan te wennen denk ik.quote:Op donderdag 20 september 2018 15:32 schreef cablegunmaster het volgende:
[..]
encodeKey
decodeKey bv?
daarnaast 2x i zo dichtbij elkaar gebruiken is voor mij een riskant gevoel, error prone.
Daar kan ik helemaal mee eens zijn.quote:Op donderdag 20 september 2018 15:49 schreef FlippingCoin het volgende:
[..]
Ja, volgens clean code kan je beter een langere beschrijvende naam hebben dan een korte als key, key wordt op zoveel manieren gebuikt. Nu is dit een triviaal voorbeeld waardoor je maar een paar regels context hebt maar wel goed om aan te wennen denk ik.
... En ook ophogen, naast het ophogen van i.quote:Op donderdag 20 september 2018 14:05 schreef FlippingCoin het volgende:
[..]
Je kan de j variabele ook in de for constructie declareren naast i.
Ja dat bedoelde ik inderdaad, twee variabelen in de loop constructie.quote:Op donderdag 20 september 2018 21:09 schreef embedguy het volgende:
[..]
... En ook ophogen, naast het ophogen van i.
In fact heb je j niet eens nodig, aangezien hij gelijk is aan i. Of zie ik je keuze daarvoor over het hoofd?
Ik ben inmiddels bekend met de term scopequote:Op donderdag 20 september 2018 21:23 schreef FlippingCoin het volgende:
[..]
Ja dat bedoelde ik inderdaad, twee variabelen in de loop constructie.
Oh ja het voordeel hiervan is trouwens een verkleinde scope.
Mooi zo, en en ook al waarom een kleinere scope beter is?quote:Op vrijdag 21 september 2018 10:25 schreef uppie83 het volgende:
[..]
Ik ben inmiddels bekend met de term scope
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |