我的代码有问题,不确定什么地方出了问题

时间:2019-09-23 17:19:59

标签: java swing joptionpane

我现在正在高中上一门计算机编程课程,我们的作业之一与JOption窗格有关。我们必须允许运行我们的程序的用户输入他们和叔叔家之间的英里数,然后将他们的英尺数作为输出。这给了我一个错误,我不确定我要去哪里。请查看我的代码,如果可以的话,找到错误(Java编程)。

import javax.swing.JOptionPane;

public class MilesToFeet 
{

    public static void main(String[] args) 
    {
        double feetPerMile = 5280;
        String milesToUncle = JOptionPane.showInputDialog("Please enter the number of miles to your uncles's house");
        Double.parseDouble(milesToUncle);
        JOptionPane.showMessageDialog(null, "The distance to your uncle's house is " + milesToUncle + " miles or " + (feetPerMile*milesToUncle) + " feet.");
    }

}

3 个答案:

答案 0 :(得分:1)

您的问题出在Double.parseDouble(milesToUncle);上。

方法.parseDouble() 返回 Double的值,它不会修改您当前使用的Object

像这样使用它:

double miles = Double.parseDouble(milesToUncle);
double result = miles * feetPerMile;

您可以修改此代码以在使用.showMessageDialog()时直接计算,而不必将其也设置为变量result

答案 1 :(得分:0)

变量milesToUncle是字符串类型的对象,因此您不能将其与feetPerMile

相乘

那是我一见钟情的错误。

答案 2 :(得分:0)

您看到的错误是您试图将double值与String值相乘,这是没有道理的。

尝试一下–将Double.parseDouble(milesToUncleInput)的输出保存到新变量中,然后使用该变量执行feetPerMile * milesToUncle

double feetPerMile = 5280;
String milesToUncleInput = JOptionPane.showInputDialog("Please enter the number of miles to your uncles's house");
double milesToUncle = Double.parseDouble(milesToUncleInput);
JOptionPane.showMessageDialog(null, "The distance to your uncle's house is " + milesToUncleInput + " miles or " + (feetPerMile * milesToUncle) + " feet.");