Inputdialog verwerken in formule

Status
Niet open voor verdere reacties.

gonzalioz

Nieuwe gebruiker
Lid geworden
24 nov 2006
Berichten
3
Hey,

ik heb geprobeerd een zo goed mogelijke titel te verzinnen en hoop dat het zo vrij duidelijk is.

Allereerst mijn code:


import javax.swing.JOptionPane;
public class Oefenen {
public static void main(String[] args) {
Oefenen oefenen = new Oefenen();

int a = 15;
int b = 9/5 * a + 32;

String celcius = JOptionPane.showInputDialog("Tik aantal Celcius in" );

System.out.println("Graden Celcius: " + a);
System.out.println("Omgerekend naar Fahrenheit: " + b);

}
}


Die Joptionpane die er nu staat is dus nutteloos. Maar ik wil dat wat men intypt in die inputdialog in plaats van int a = 15 komt. Zodat mensen graden celcius in het schermpje kunnen invullen en dat het dan omgerekend word naar fahrenheit? Ik wilde dus in de formule van int b, a veranderen in celcius (naam van joptionpane) maar dat wilde jbuilder niet .

Iemand enig idee? Ik zou heel graag een korte toelichting krijgen als iemand de verbeterde code opstuurt anders snap ik het dadelijk nog steeds niet

Alvast heel erg bedankt
 
Toelichting heb ik maar even in de code gezet:
Code:
import javax.swing.JOptionPane;

public class Oefenen {
    public static void main(String[] args) {
        String celcius = JOptionPane.showInputDialog("Tik aantal Celcius in");
        // Dit is dus een manier om een string naar een integer te 'vertalen'
        // Deze methode kan leuke exceptions opleveren die je wel moet opvangen...
        int a = Integer.parseInt(celcius);
        // Daarna b berekenen, let op de float-jes. Een cast naar int is dan nodig.
        // a * 9 / 5 + 32 werkt ook wel. Het is tricky om te rekenen met integers..
        int b = (int)(9f / 5f * a) + 32;
        // tadaaa!
        System.out.println("Graden Celcius: " + a);
        System.out.println("Omgerekend naar Fahrenheit: " + b);
        // ter illustratie van het tricky zijn van integers: 
        System.out.println("9 / 5 = " + 9 / 5);
        System.out.println("9f / 5f = " + 9f / 5f);
    }
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan