De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Hoofdstuk 8 Keuze verplicht…. Opdrachten voorwaardelijk uitvoeren opdracht wordt alleen uitgevoerd als voorwaarde geldt if (temperatuur<0) gr.drawString(“Het.

Verwante presentaties


Presentatie over: "Hoofdstuk 8 Keuze verplicht…. Opdrachten voorwaardelijk uitvoeren opdracht wordt alleen uitgevoerd als voorwaarde geldt if (temperatuur<0) gr.drawString(“Het."— Transcript van de presentatie:

1 Hoofdstuk 8 Keuze verplicht…

2 Opdrachten voorwaardelijk uitvoeren opdracht wordt alleen uitgevoerd als voorwaarde geldt if (temperatuur<0) gr.drawString(“Het vriest!”, 10, 10); opdracht wordt steeds opnieuw uitgevoerd zolang voorwaarde geldt if while (temperatuur<0) temperatuur += 5;

3 Twee alternatieven opdracht wordt alleen uitgevoerd als voorwaarde niet geldt if (temperatuur<0) gr.drawString(“Het vriest!”, 10, 10); else gr.drawString(“Het dooit.”, 10, 10);

4 Keuze is ook een opdracht if (n%3==0) gr.drawString(n + “drievoud”, 10, 10 ); else gr.drawString(n + “niet”, 10, 10 ); for (n=1; n<20; n++) *n if-opdracht dient in z’n geheel als body van for-opdracht één opdracht dus geen accolades nodig!

5 Meer opdrachten als body accolades maken twee opdrachten tot één body if (temperatuur<0) gr.drawString(“Het vriest!”, 10, 10); gr.drawString(“Koud he!”, 10, 20); {}{}

6 Meerdere alternatieven if (leeftijd<65) tf.setText(“Vol tarief”); else tf.setText(“Seniorenkaart”); if (leeftijd<12) tf.setText(“Railrunner”); else if (leeftijd<4) tf.setText(“Gratis”); else if-opdracht dient in z’n geheel als body van else-deel if-opdracht dient in z’n geheel als body van else-deel

7 Meerdere alternatieven if (leeftijd<4) tf.setText(“Gratis”); else if (leeftijd<12) tf.setText(“Railrunner”); else if (leeftijd<65) tf.setText(“vol tarief”); else tf.setText(“Seniorenkaart”); uitzondering op gewoonte om body in te springen tf.setText(“Railrunner”); else if (leeftijd<65) tf.setText(“Vol tarief”); else tf.setText(“Seniorenkaart”);

8 private String tarief(int leeftijd) { } Meerdere alternatieven if (leeftijd<4) return “Gratis”; else if (leeftijd<12) return “Railrunner”; else if (leeftijd<65) return “Vol tarief”; else return “Seniorenkaart”; if (leeftijd<4) return “Gratis”; if (leeftijd<12) return “Railrunner”; if (leeftijd<65) return “Vol tarief”; return “Seniorenkaart”; bij return-opdracht is methode beëindigd

9 Button b; public void init ( ) { straal = 100; b = new Button(“groter”); this.add(b); b.addActionListener(this); Cirkel tekenen class Cirkel extends Applet { } public void paint(Graphics gr) { gr.fillOval(150-straal,150-straal,2*straal,2*straal); } int straal; public void init ( ) { straal = 100; } public void actionPerformed(ActionEvent e) { straal += 10; this.repaint(); } implements ActionListener

10 Cirkel tekenen class Cirkel extends Applet { int straal; Button klein, groot; public void init ( ) { straal = 10; klein = new Button(“kleiner”); this.add(klein); groot = new Button(“groter”); this.add(groot); klein.addActionListener(this); groot.addActionListener(this); } implements ActionListener

11 Cirkel tekenen public void actionPerformed(ActionEvent e) { if ( e.getSource() == klein && straal>10 ) straal -= 10; if ( e.getSource() == groot && straal<150 ) straal += 10; this. repaint(); } gelijkheid van Button-object-verwijzingen) public void actionPerformed(ActionEvent e) { if ( e.getSource() == klein ) straal -= 10; if ( e.getSource() == groot ) straal += 10; this. repaint(); } e.getSource()

12 Geheime tekening class Geheim extends Applet { public void paint (Graphics gr) { gr.setColor(Color.GREEN); gr.fillOval(50,50,100,100); gr.setColor(Color.BLUE); gr.fillOval(81,85,8,8); gr.fillOval(111,85,8,8); gr.drawArc(75,75,50,50,225,90); } boolean open; public void init () { open = false; } if (open) { } TextField pass; pass = new TextField(20); this.add(pass); pass.addActionListener(this); }

13 Geheime tekening class Geheim extends Applet implements ActionListener { boolean open; TextField pass; public void actionPerformed (ActionEvent e) { open = true; this. repaint(); } if ( pass.getText(). equals (“geheim”) ) { } pass. setVisible(false);

14 operator == of methode equals ? n== test gelijkheid van variabelen nequals test gelijkheid van String-inhoud 5 5 x y s t hoi s t s t s t methode voor String- objecten truefalsetrue

15 Min./max. thermometer class Thermo extends Applet { Scrollbar meter; public void init () { Button reset; meter = new Scrollbar( Scrollbar.HORIZONTAL,0,1,-50,50); reset = new Button(“reset”); } this.add(meter); this.add(reset); meter.addAdjustmentListener(this); reset.addActionListener(this); int minimum, maximum; minimum = 0; maximum = 0; impelements AdjustmentListener, ActionListener

16 Min./max. thermometer public void paint (Graphics gr) { gr.drawString( “hoogste ” + maximum, 50,50); gr.drawString( “laagste ” + minimum, 50,70); } public void adjustmentValueChanged( AdjustmentEvent e ) { this.repaint(); } maximum = minimum = if (waarde>maximum) waarde; if (waarde<minimum) waarde; int waarde; waarde = meter.getValue();

17 Grafiek-tekenprogramma grafiek van een parabool nulpunten volgens abc-formule ingevoerde waarden abc

18 Opzet van klasse Parabool ndeclaratie Objectvariabelen nmethode init nmethode actionPerformed nmethode paint nmethode nulpunten nmethode assen nmethode grafiek nmethode parabool bouwt interface converteert a,b,c “regisseert” het tekenen doen het eigenlijke tekenwerk berekent ax 2 +bx+c

19 Parabool: init class Parabool extends Applet implements ActionListener { TextField abox, bbox, cbox; double a, b, c; public void init () { a = 0.5; b = 2.0; c = -4.0; } abox = new TextField( “”+a, 8 ); bbox = new TextField( “”+b, 8 ); cbox = new TextField( “”+c, 8 ); this.add(abox); this.add(bbox); this.add(cbox); abox.addActionListener(this); bbox.addActionListener(this); cbox.addActionListener(this);

20 Parabool: actionPerformed public void actionPerformed(ActionEvent e) { } a = b = c = this.repaint (); abox.getText() bbox.getText() cbox.getText() Double.parseDouble( );

21 Parabool: paint public void paint (Graphics gr) { } nulpunten assen grafiek this. (gr); gr. setColor( Color.BLACK ); gr. setColor( Color.RED ); gr. setColor( Color.BLUE ); private void assen (Graphics gr) { gr.drawLine(0, 250, 500, 250); gr.drawLine(250, 0, 250, 500); }

22 Parabool: nulpunten public void nulpunten (Graphics gr) { } gr.drawString( (-b -wortel)/noemer + “ en ” +(-b+wortel)/noemer, 50, 50 ); wortel = Math.sqrt(discriminant); discriminant = b*b - 4*a*c; noemer = 2*a; if (discriminant<0) gr.drawString(“geen nulpunten”); else { } -b ± b 2 -4ac 2a

23 Parabool: grafiek public void grafiek (Graphics gr) { } for ( x=0 ; x<500 ; x++ ) { } y = this.parabool( x ); gr.drawLine(,, x, y );x-1 oldy oldy = y; oldy = 0; if (x>0) schaal = 0.03; xw = schaal * x ; w w y = yw / schaal ; ( -250) (int) (250-( )) int x, y,oldy; double xw, yw, schaal;

24 Testen van een reeks mogelijke waarden if (x==1) else if (x==2) else if (x==3) else if (x==4) else if (x==5) else if (x==6) else if (x==7) else this.een(); this.twee(); this.drie(); this.vier(); this.vijf(); this.zes(); this.zeven(); this.meer(); case 1: case 2: case 3: case 4: case 5: case 6: case 7: default: switch (x) { } break;

25 Exceptions Exception: nUitzonderlijke toestand die door een methode wordt opgeworpen nDe situatie moet door de aanroeper van de methode worden opgevangen throw catch

26 Voorbeeld van Exception s = invoer. getText ( ); n = Integer. parseInt (s); uitvoer. setText ( “kwadraat is ” + n*n ); try { } catch ( Exception e ) { uitvoer. setText ( s + “ is geen getal” ); } kan een Exception opwerpen opvangen van het probleem

27 Soorten Exceptions Subklassen van Exception nNumberFormatException nNullPointerException nInterruptedException nIOException uFileNotFoundException n... vrijwillig op te vangen verplicht op te vangen

28 Meerdere catch-delen // open een file // en lees de inhoud try { } catch ( FileNotFoundException f ) { uitvoer. setText ( s + “ bestaat niet” ); } catch ( IOException i ) { uitvoer. setText ( s + “ is onleesbaar” ); } als er een Exception optreedt, wordt de eerste catch gekozen met een passend type

29 Overzicht programma- constructies Opdrachten nToekenning nAanroep void-methode nreturn-opdracht nwhile-opdracht nfor-opdracht n{... } - bundeling nif-opdracht ntry/catch-opdracht Expressies n Constante n Variabele n Aanroep methode n Expressie met operatoren n Expressie met haakjes n new-expressie n this kun je doenkun je uitrekenen nswitch-opdracht nbreak-opdracht

30 Overzicht programma- constructies Declaratie nLokale variabele voor tijdelijk gebruik nObject-variabele permanent deel van het object nParameter om waarden door te spelen aan methode Type n Primitief type uint udouble uboolean n Object-type uColor, String enz. uTextField, Button enz. uApplet, Hallo, enz. geeft het type van variabelen waarde-verzameling van een expressie


Download ppt "Hoofdstuk 8 Keuze verplicht…. Opdrachten voorwaardelijk uitvoeren opdracht wordt alleen uitgevoerd als voorwaarde geldt if (temperatuur<0) gr.drawString(“Het."

Verwante presentaties


Ads door Google