Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Input/Output - Arithmetic Equation

I am brand new to Java, started two weeks ago and am having issues wrapping my mind around this issue. I have a problem in a class I am taking that has been brought up before. Converting kilograms to pounds and rounding to the second decimal place.

I can create the input side of things and bring up a dialog box to prompt the user to enter in a weight. I can also create an output that uses an equation I made to output the answer in a dialog box.

My question is how do I take the information that is input and use it to convert from kilograms to pounds?

I have been reading my book and scouring the internet trying to find an answer and I think I may be over thinking it. Thanks for the help.

Input.java:

//This program asks a user to input a weight in kilograms.

package module2;

import javax.swing.*;

public class Input {

    public static void main(String[] args) {

        String weight;

        weight = JOptionPane.showInputDialog("Enter weight in kilograms");
    }
}

Output.java:

//This program outputs a converted weight from kilograms to pounds.

package module2;

import javax.swing.JOptionPane;

public class Output {

    public static void main(String[] args) {

        double kg = 75.5;
        double lb = 2.2;
        double sum;

        sum = (kg * lb);

        JOptionPane.showMessageDialog(null,sum, "Weight Conversion", JOptionPane.INFORMATION_MESSAGE);
    }
}
like image 773
Ph1shPhryd Avatar asked May 20 '15 18:05

Ph1shPhryd


Video Answer


1 Answers

Right now you have 2 main methods. Both of these are entry points for the program. Since they have to share information, it doesn't make sense you have both.

What I'd recommend is to change the Output's main method to a instance method, taking one parameter: the weight from the Input.

Like so:

public void printOutput(final double weight){
    //...
}

You can then call that from the Input's main method like so:

public static void main(String[] args) {

    String weight;

    weight = JOptionPane.showInputDialog("Enter weight in kilograms");

    double kg = Double.parseDouble(weight); // Be sure to parse the weight to a number
    Output output = new Output(); // Create a new instance of the Output class

    output.printOutput(kg); // Call our method to display the output of the conversion
}

One other thing, is that since Output is currently only used for that one method, you could consider just moving that method into Input.

like image 123
Obicere Avatar answered Oct 01 '22 11:10

Obicere