Probleem met converter

Status
Niet open voor verdere reacties.

stevanov

Gebruiker
Lid geworden
5 nov 2008
Berichten
9
Hey
Ik heb een probleem met een dollar/euro converter die ik aan het maken ben
// Begin eventmethoden
public void deButtonActionPerformed(ActionEvent evt) {
int dollar;
dollar = Integer.parseInt(dollarVeld.getText());
int euro;
euro = dollar * 1.215;
euroVeld.setText (dollar);
}

public void edButtonActionPerformed(ActionEvent evt) {
int euro;
euro = Integer.parseInt(euroVeld.getText());
int dollar;
dollar = euro / 1.215;
dollarVeld.setText (euro);
}

// Einde eventmethoden
dat is het stukje code wat ik gemaakt heb (ja ik ben een beginner :P)
en dit is de foutmelding
Compileer L:\IN\JavaEditor\EuroToDollar\eurotodollaer.java met Java-Compiler
eurotodollaer.java:69:19: possible loss of precision
found : double
required: int
euro = dollar * 1.215;
^
eurotodollaer.java:70:13: cannot find symbol
symbol : method setText(int)
location: class java.awt.TextField
euroVeld.setText (dollar);
^
eurotodollaer.java:77:19: possible loss of precision
found : double
required: int
dollar = euro / 1.215;
^
eurotodollaer.java:78:15: cannot find symbol
symbol : method setText(int)
location: class java.awt.TextField
dollarVeld.setText (euro);
^
4 errors

zou iemand mij kunnen helpen?
alvast heel erg bedankt!
 
Java kent verschillende type getallen. De int (gehele getallen) en double (getallen met een komma) zijn nu even het belangrijkst.

heb je bijvoorbeeld:

int som = 1 + 2;

Java zal 1 en 2 omzetten naar een int. (zijn beide gehele getallen) het antwoord zal dan ook een int zijn. Dit gaat goed want som is ook een int.

int breuk = 1 / 2;

Ook hier worden 1 en 2 omgezet naar een int en het antwoord zal dan ook weer een int zijn... Dus 1 / 2 = 0 !.. (want int kan alleen maar gehele getallen bevatten en getal achter de komma wordt weggegooid)

double breuk = 1 / 2

Levert ook als antwoord 0 !, want 1 & 2 zijn int en het antwoord ook, echter antwoord wordt hierna omgezet in double.. Maar dan zijn de getallen achter de komma al weggegooid.

in jouw geval heb je staan:

int euro = 1 * 1.1215. Het getal 1.1215 is een double, dus wordt de 1 en 1.1215 omgezet naar double en het antwoord is dan ook een double. Met getallen achter de komma ! dit moet worden omgezet naar int en de compiler waarschuwt hier dat je getallen acher de komma vervallen!..

vervang int euro door double euro en het probleem is opgelost
 
heel erg bedankt, na het int naar double veranderen zaten er nog wel wat foutjes in maar die heb ik er zelf uit weten te krijgen.
dit is de code nu:
// Begin eventmethoden
public void deButtonActionPerformed(ActionEvent evt) {
double dollar;
dollar = Integer.parseInt(dollarVeld.getText());
double euro;
euro = dollar * 1.215;
euroVeld.setText(String.valueOf(euro));
}

public void edButtonActionPerformed(ActionEvent evt) {
double euro;
euro = Integer.parseInt(euroVeld.getText());
double dollar;
dollar = euro / 1.215;
dollarVeld.setText(String.valueOf(dollar));
}

// Einde eventmethoden
nogmaals bedankt
steven
 
ik ga nog een veld maken waar ik de koers in kan vullen zodat de koers wel waar is.
verder zijn de berekeningen toch wel goed?, alleen de koers niet toch?
 
bedankt voor de tips en feedback enzo.
ik heb dit gemaakt omdat we dit soort dingen ook op school gaan doen (tijdens informatica) het leek me dus wel een goede oefening om wat voorkennis te hebben.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan