Java probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Crooker
  • Registratie: September 2010
  • Laatst online: 26-11-2021
Hallo,

Ik ben net begonnen met java te programmeren en heb hieronder een scherm gemaakt waarmee het mogelijk zou moeten zijn om in het vak "optelling" het getal dat je bovenaan invult op te tellen en in het vak "vermenigvuldiging" het bovenstaande getal mee te vermenigvuldigen. Ik heb het geprogrammeerd in Eclipse welke de melding geeft: The field debugpaneel.optel is never read locally
Dezelfde melding krijg ik voor debugpaneel.verm.

Kan iemand mij helpen?

import javax.swing.*;
import java.awt.event.*;

public class debugpaneel extends JPanel implements ActionListener
{
private JTextField v1, v2, v3; private JButton knop; private int getal, optel, verm;

public debugpaneel()
{
v1 = new JTextField( 10 );
v2 = new JTextField( 10 );
v3 = new JTextField( 10 );
v2.setEditable( false );
v3.setEditable( false );
knop = new JButton( "druk hier" );
knop.addActionListener( this );
add( v1 );
add( knop );
add( new JLabel( "optelling: " ) );
add( v3 ); add( new JLabel( "vermenigvuldiging: " ) );
add( v2 );
}

public void actionPerformed( ActionEvent e )
{
int optel = getal ; int verm = getal;
int getal = Integer.parseInt( v1.getText() );
optel += getal; verm *= getal;
v2.setText(""+ optel );
v3.setText(""+ verm );
}
}

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:47
Dat betekent dat je niks met je JButton optel doet.

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 20:16

Matis

Rubber Rocket

Avalaxy schreef op dinsdag 28 september 2010 @ 21:00:
Dat betekent dat je niks met je JButton optel doet.
optel is een private int ;)

Maar het is nogal rottig weergegeven moet ik idd bekennen.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
Je declareert de variabele optel twee keer: een keer als field, en een keer als lokale variable binnen de method actionPerformed. En gebruik in het vervolg even [code] tags.

"Any sufficiently advanced technology is indistinguishable from magic."


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:47
Matis schreef op dinsdag 28 september 2010 @ 21:01:
[...]

optel is een private int ;)

Maar het is nogal rottig weergegeven moet ik idd bekennen.
Ah sorry, is inderdaad onduidelijk neegezet.

Gebruik voortaan eventjes [code = java] (zonder spaties).

Zoals hierboven gezegd doe je dus niets met de initiële versie van optel (en ook van verm), want later creëer je een nieuwe int waarop je de bewerking(en) doet.

Zo is hij dus wel goed (althans, puur kijkend naar warnings):

Java:
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
import javax.swing.*;
import java.awt.event.*;

public class debugpaneel extends JPanel implements ActionListener
{
    private JTextField v1, v2, v3; 
    private JButton knop; 
    private int getal, optel, verm;

    public debugpaneel()
    {
        v1 = new JTextField( 10 );
        v2 = new JTextField( 10 );
        v3 = new JTextField( 10 );
        v2.setEditable( false );
        v3.setEditable( false );
        knop = new JButton( "druk hier" );
        knop.addActionListener( this );
        add( v1 );
        add( knop );
        add( new JLabel( "optelling: " ) );
        add( v3 ); add( new JLabel( "vermenigvuldiging: " ) );
        add( v2 );
    }

    public void actionPerformed( ActionEvent e )
    {
        optel = getal ; 
        verm = getal;
        getal = Integer.parseInt( v1.getText() );
        optel += getal; 
        verm *= getal;
        v2.setText(""+ optel );
        v3.setText(""+ verm );
    }
}

[ Voor 48% gewijzigd door Avalaxy op 28-09-2010 21:06 ]


Acties:
  • 0 Henk 'm!

  • Crooker
  • Registratie: September 2010
  • Laatst online: 26-11-2021
Thnx voor de snelle reactie. De melding is zo idd weg :) Nou moet ik hem nog werkend krijgen. Ik moet het invoergetal kunnen optellen (dus ook onthouden) bij het getal dat er al staat. Hetzelfde geld voor vermenigvuldigen alleen dan moet het getal wat je invoert vermenigvuldigd worden met het getal dat er al staat.

Alvast bedankt _/-\o_

[ Voor 78% gewijzigd door Crooker op 28-09-2010 21:34 ]


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:47
Crooker schreef op dinsdag 28 september 2010 @ 21:27:
Thnx voor de snelle reactie alleen krijg ik nog steeds dezelfde melding.

Op de regel: private int getal, optel, verm; geeft hij de melding op optel en verm
Met de code die ik net postte? Ik heb hem zelf even in eclipse gegooid en ik zie geen warnings hoor :)

Je kunt als het goed is op de warning klikken, dan zie je als het goed is suggesties om het probleem op te lossen, waaronder waarschijnlijk de suggestie om de integers optel en verm te verwijderen. Als je daar gewoon op klikt is je probleem opgelost.

Acties:
  • 0 Henk 'm!

  • Crooker
  • Registratie: September 2010
  • Laatst online: 26-11-2021
Je hebt gelijk, ik heb mij post aangepast ;)
Avalaxy schreef op dinsdag 28 september 2010 @ 21:34:
[...]


Met de code die ik net postte? Ik heb hem zelf even in eclipse gegooid en ik zie geen warnings hoor :)

Je kunt als het goed is op de warning klikken, dan zie je als het goed is suggesties om het probleem op te lossen, waaronder waarschijnlijk de suggestie om de integers optel en verm te verwijderen. Als je daar gewoon op klikt is je probleem opgelost.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:12

Creepy

Tactical Espionage Splatterer

Crooker schreef op dinsdag 28 september 2010 @ 21:27:
Thnx voor de snelle reactie. De melding is zo idd weg :) Nou moet ik hem nog werkend krijgen. Ik moet het invoergetal kunnen optellen (dus ook onthouden) bij het getal dat er al staat. Hetzelfde geld voor vermenigvuldigen alleen dan moet het getal wat je invoert vermenigvuldigd worden met het getal dat er al staat.

Alvast bedankt _/-\o_
Succes met het zelf eerst uitproberen en verder uit te zoeken hoe en wat. Je komt nu niet verder dan "hoi, dus is mijn code, dit is er mis, wie helpt me", en dat is nu net niet de bedoeling. Kan je wat aan de volgende punten doen?

- Topic titel. "java probleem" zegt natuurlijk helemaal niks. Via een topicreport kan je een andere topictitel doorgeven
- Je eigen inzet. Wat heb je nu allemaal zelf al geprobeerd? Wat lukte daar niet mee?
- Code posten. Post aub alleen de relevante code en gebruik de code tags: [code]codehier[/code]

Dit staat overigens allemaal netjes uitgelegd in PRG Beleid en ook in Het algemeen beleid waarbij Het algemeen beleid #quickstart laat zien wat je eigenlijk zou moeten doen bij een topicstart ;) Kan je de informatie aanvullen?

[ Voor 14% gewijzigd door RobIII op 28-09-2010 22:00 . Reden: code-tags linkified :+ ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
Crooker schreef op dinsdag 28 september 2010 @ 21:27:
Thnx voor de snelle reactie. De melding is zo idd weg :) Nou moet ik hem nog werkend krijgen. Ik moet het invoergetal kunnen optellen (dus ook onthouden) bij het getal dat er al staat. Hetzelfde geld voor vermenigvuldigen alleen dan moet het getal wat je invoert vermenigvuldigd worden met het getal dat er al staat.

Alvast bedankt _/-\o_
Tja, op het moment dat je op de optel- of vermenigvuldigknop drukt, moet je gewoon de huidige waarde opslaan en op het moment dat je op de =-knop drukt de nieuwe huidige waarde met de vorige waarde optellen of vermenigvuldigen.
Pagina: 1