【问题标题】:I'm having trouble with my code and I'm not sure what's wrong我的代码有问题,我不确定出了什么问题
【发布时间】:2019-09-23 17:19:59
【问题描述】:

我现在正在上高中的计算机编程课程,我们的一项作业与 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.");
    }

}

【问题讨论】:

  • “它给了我一个错误”——您愿意与我们分享这个错误可能是什么吗?

标签: java swing joptionpane


【解决方案1】:

您的问题在于Double.parseDouble(milesToUncle);

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

像这样使用它:

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

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

【讨论】:

    【解决方案2】:

    您看到的错误是您试图将 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.");
    

    【讨论】:

      【解决方案3】:

      变量milesToUncle是一个String类型的对象,所以不能和feetPerMile相乘

      这是我一见钟情的错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-18
        • 2016-02-27
        • 1970-01-01
        • 2019-06-06
        • 1970-01-01
        • 2011-07-28
        相关资源
        最近更新 更多