Toon posts:

Java probleem

Pagina: 1
Acties:

Onderwerpen


  • Crooker
  • Registratie: september 2010
  • Laatst online: 13-09 11:03
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 );
}
}

  • Avalaxy
  • Registratie: juni 2006
  • Laatst online: 16-09 23:39
Dat betekent dat je niks met je JButton optel doet.

  • Matis
  • Registratie: januari 2007
  • Laatst online: 22:22

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


  • 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."


  • Avalaxy
  • Registratie: juni 2006
  • Laatst online: 16-09 23:39
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]


  • Crooker
  • Registratie: september 2010
  • Laatst online: 13-09 11:03
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]


  • Avalaxy
  • Registratie: juni 2006
  • Laatst online: 16-09 23:39
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.

  • Crooker
  • Registratie: september 2010
  • Laatst online: 13-09 11:03
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.

  • Creepy
  • Registratie: juni 2001
  • Laatst online: 21:16

Creepy

Moderator Devschuur®

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: 13-07 14:13
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


Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee