[JAVA] Rekenmachine

Pagina: 1
Acties:
  • 333 views sinds 30-01-2008

  • Soepstengel
  • Registratie: April 2006
  • Laatst online: 19-02 12:53
Hallo allemaal!

Ik ben op het moment bezig met een opdracht voor school en daar moet ik een rekenmachientje maken (we zijn net 4 weken bezig met java dus het is niks speciaals). Ik heb nu een button Optellen! en 3 vlakken. Waneer je in de eerste twee vlakken verschillende cijfers neer zet en op de knop Optellen! drukt worden de twee cijfers bij elkaar opgetelt en in het derde vlak neer gezet.

Er staan hier nu 3 buttons. Wat nu de bedoeling is dat elke button iets anders doet (dus optellen, delen en vermedigvuldigen). Maar hoe krijg ik dit voor elkaar?

Hieronder staat de code met heel erg veel comentaar er tussen zodat ik weet waar alles voor is.

Alvast bedankt!

Groeten,
Nick

code:
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
import java.awt.*; 
import java.applet.*; 
import java.awt.event.*; 


public class Opdracht3 extends Applet implements ActionListener 
{ 

Button optellen, vermedigvuldigen, delen;
TextField firstField, secondField, thirdField; 

public void init()  
    { 
        // Kies een FlowLayout 
        setLayout(new FlowLayout()); 
        optellen = new Button("Optellen!");
        vermedigvuldigen = new Button("Vermedigvuldigen!");
        delen = new Button("Delen!");
          
        // maak drie tekstvelden
        firstField = new TextField("",5); 
        secondField = new TextField("",5); 
        thirdField = new TextField("",10);

        add(optellen);
        add(vermedigvuldigen);
        add(delen);
        add(firstField); 
        add(secondField);
        add(thirdField);

        // Plak een actie luisteraar aan de okButton vast
        optellen.addActionListener(this);
        vermedigvuldigen.addActionListener(this); 
        delen.addActionListener(this); 
    } 

public void paint(Graphics g)
     
    {
      Optellen(g);  
    }
  
//---------------------------------------------------------------------------------------------------------    
public void Optellen(Graphics g)

    {
    // Doe de teksten in de twee eerste tekstvelden in variabelen
        String s1 = firstField.getText();
        String s2 = secondField.getText();
             
        // Zet de ingelezen variabelen van het type String om in integers (gehele getallen)
        int i1 = Integer.parseInt(s1);
        int i2 = Integer.parseInt(s2);
        
        // Tel deze getallen bij elkaar op
        int i3 = i1 + i2;
            
        // zet het resultaat van die vermenigvuldiging om in een String (tekst)
        String s3 = Integer.toString(i3);
          
        // Zet het resultaat als String in het derde tekstveld 
        thirdField.setText(s3);
    } 

// Als op de button wordt geklikt wordt onderstaande code uitgevoerd 

public void actionPerformed(ActionEvent evt)  
    { 
        // Controleer of op de okButton is geklikt
        if (evt.getSource() == optellen);
        else if (evt.getSource() == vermedigvuldigen);
        else if (evt.getSource() == delen);
        // zo ja, voer dan de repaint() methode uit, die paint() oproept
        repaint(); 

    }//einde Optellen  
//---------------------------------------------------------------------------------------------------------    

} //einde klas

Desktop: Ryzen 7 7800X3D | 32 GB | Radeon RX 6800


Verwijderd

Ik heb no gniet naar je code gezien..... maar

een oplossing zou zijn...

3 aparte button handlers

alle 3 die veld 1 inleest en veld 2 inleest en daarna bewerkingen doet en dan instop in veld 3

Met delen wens ik je veel geluk (10/3 = 3.33333333 etc.... wiskunde)

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Soepstengel1988 schreef op zondag 04 juni 2006 @ 13:52:
Vermenigvuldigen is iets heel anders dan vermedigvuldigen. Wat is vermedigvuldigen eigenlijk?
code:
1
2
3
        if (evt.getSource() == optellen)  // <-- tjsa, wat zullen we hier eens doen??
        else if (evt.getSource() == vermedigvuldigen); // <-- en hier?
        else if (evt.getSource() == delen); // <-- en hier?

Als je het commentaar goed leest dan word de hint al gegeven toch?

Siditamentis astuentis pactum.


  • Soepstengel
  • Registratie: April 2006
  • Laatst online: 19-02 12:53
Varienaja schreef op zondag 04 juni 2006 @ 14:01:
[...]


code:
1
2
3
        if (evt.getSource() == optellen)  // <-- tjsa, wat zullen we hier eens doen??
        else if (evt.getSource() == vermedigvuldigen); // <-- en hier?
        else if (evt.getSource() == delen); // <-- en hier?

Als je het commentaar goed leest dan word de hint al gegeven toch?
Zoals ik al zei weet ik weinig tot hellemaal niks van Java. Het enigste wat ik geb kunnen maken is mijn naam in lijnen en figuren :D:D:D

Dus ik zou egt niet weten wat ik nu moet doen, ik vindt het al heel knap dat ik die tekst velden heb kunnen maken 8)7

Desktop: Ryzen 7 7800X3D | 32 GB | Radeon RX 6800


  • TheSeb
  • Registratie: April 2006
  • Laatst online: 20-02 21:40
Zoals ik al zei weet ik weinig tot hellemaal niks van Java. Het enigste wat ik geb kunnen maken is mijn naam in lijnen en figuren :D:D:D
Je zou dan eigenlijk beter kunnen beginnen met een goed basisboek of een goede online tutorial om Java te leren. Ik vond zelf deze wel handig om mee te beginnen.

  • Soepstengel
  • Registratie: April 2006
  • Laatst online: 19-02 12:53
Hehe!

Voor deze vraag had ik (naar mij weten) heel het internet afgezocht naar een code voor mijn opdracht waar ik wat wijzer uit werdt. Zoektermen waren calculator java code enz. Vanmiddag ben ik er achter gekomen dat waneer je java rekenmachine intypt er veel sneller komt dan de bovenste!

Zo heb ik de volgende code gevonden wat precies is wat ik zoek aleen moeten er nog wat dingen aangepast worden (zo moet ik een flow lay-out gebruiken) maar ik denk niet dat dat een probleem gaat worden!

In ieder geval bedankt voor de hulp!

Groeten,
Nick

code:
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
import java.awt.*;
import java.applet.*;
import java.awt.event.*;


public class Rekentoestel extends Applet 
{
  
  TextField invoervak1, invoervak2, resultaat;
  Button maal, plus, delen, aftrekken;
  double invoergetal1, invoergetal2, resultaatgetal;
  
  public void init() 
  {
    
  invoervak1 = new TextField( 12 );
  invoervak2 = new TextField( 12 );
  resultaat = new TextField( 12 );
  
  maal = new Button( "x" );
  maal.addActionListener( new maalHandler() );
  
  plus = new Button( "+" );
  plus.addActionListener( new plusHandler() );
  
  delen = new Button( "/" );
  delen.addActionListener( new delenHandler() );
  
  aftrekken = new Button( "-" );
  aftrekken.addActionListener( new aftrekkenHandler() );
  
  add( invoervak1 );
  add( invoervak2 );
  add( maal );
  add( plus );
  add( delen );
  add( aftrekken );
  add( resultaat );
  
  }

class maalHandler implements ActionListener 
{
  
  public void actionPerformed( ActionEvent e ) 
  {
    String invoer1 = invoervak1.getText();
    invoergetal1 = Double.parseDouble( invoer1 );
    
    String invoer2 = invoervak2.getText();
    invoergetal2 = Double.parseDouble( invoer2 );
    
    resultaatgetal = invoergetal1 * invoergetal2;
    resultaat.setText( "" + resultaatgetal );
  }
}
class plusHandler implements ActionListener 
{
  public void actionPerformed( ActionEvent e ) 
  {
    String invoer1 = invoervak1.getText();
    invoergetal1 = Double.parseDouble( invoer1 );
    
    String invoer2 = invoervak2.getText();
    invoergetal2 = Double.parseDouble( invoer2 );
    
    resultaatgetal = invoergetal1 + invoergetal2;
    resultaat.setText( "" + resultaatgetal );
  }

}
class delenHandler implements ActionListener 
{
  public void actionPerformed( ActionEvent e ) 
  {
    String invoer1 = invoervak1.getText();
    invoergetal1 = Double.parseDouble( invoer1 );
    
    String invoer2 = invoervak2.getText();
    invoergetal2 = Double.parseDouble( invoer2 );
    
    resultaatgetal = invoergetal1 / invoergetal2;
    resultaat.setText( "" + resultaatgetal );
  }

}
class aftrekkenHandler implements ActionListener 
{
  public void actionPerformed( ActionEvent e ) 
  {
    String invoer1 = invoervak1.getText();
    invoergetal1 = Double.parseDouble( invoer1 );
    
    String invoer2 = invoervak2.getText();
    invoergetal2 = Double.parseDouble( invoer2 );
    
    resultaatgetal = invoergetal1 - invoergetal2;
    resultaat.setText( "" + resultaatgetal );
  }

}
}

Desktop: Ryzen 7 7800X3D | 32 GB | Radeon RX 6800


  • Soepstengel
  • Registratie: April 2006
  • Laatst online: 19-02 12:53
TheSeb schreef op zondag 04 juni 2006 @ 16:02:
[...]


Je zou dan eigenlijk beter kunnen beginnen met een goed basisboek of een goede online tutorial om Java te leren. Ik vond zelf deze wel handig om mee te beginnen.
Oké! Dat is inderdaad wel handig ja! We hebben op school een documentje gekregen van de leraar waar wat in staat maar veelste weinig om wat van te leren dus moet ik het zo maar voor elkaar krijgen |:(

Harstikke bedankt voor de link, deze gaat zeker helpen!!!

Desktop: Ryzen 7 7800X3D | 32 GB | Radeon RX 6800


  • André
  • Registratie: Maart 2002
  • Laatst online: 20-02 09:23

André

Analytics dude

Het is niet de bedoeling dat je hier je code dumpt om vervolgens het door ons te laten maken zoals jij wil. Verder is dit ook het verkeerd forum: JAVA hoort meestal in Programming
Pagina: 1

Dit topic is gesloten.