У меня проблемы с моим кодом, и я не уверен, что не так - PullRequest
0 голосов
/ 23 сентября 2019

Я сейчас учусь на уроке компьютерного программирования в старшей школе, и одно из наших заданий связано с панелью 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 ]

1 голос
/ 23 сентября 2019

Ваша проблема с Double.parseDouble(milesToUncle);.

Метод .parseDouble() возвращает значение Double, оно не изменяет Object, который вы используете в данный момент.

Используйте его следующим образом:

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

Вы можете изменить этот код, чтобы он был напрямую рассчитан при использовании .showMessageDialog() вместо того, чтобы задавать его также для переменной result.

0 голосов
/ 23 сентября 2019

Ошибка, которую вы видите, заключается в том, что вы пытаетесь умножить значение 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.");
0 голосов
/ 23 сентября 2019

Переменная milesToUncle - это объект типа String, поэтому его нельзя умножить на feetPerMile

Это ошибка, которую я вижу на первый взгляд.

...