首页 > 解决方案 > Java 编译错误 - 类型不匹配:无法从 String 转换为 int

问题描述

问题是 Meadowdale Dairy Farm 向当地客户出售有机棕色鸡蛋。一打鸡蛋收费 3.25 美元,不属于一打的单个鸡蛋收费 45 美分。编写一个程序,提示用户输入订单中的鸡蛋数量,然后显示欠款金额并给出完整说明。例如,典型输出可能是,您订购了 27 个鸡蛋。那是 2 打,每打 3.25 美元,3 个散装鸡蛋,每打 45 美分,总共 7.85 美元。将程序另存为 EggsTwo.java。

这就是我所拥有的:

import javax.swing.JOptionPane;
public class EggsTwo
{
    public static void main(String[] args)
    {
        int eggs, dozen, individual;
        double price;
        final double priceOfDozen = 3.25;
        final double priceOfIndividual = 0.45;

        eggs = JOptionPane.showInputDialog(null, "Enter the number of eggs in the order.", "Eggs 
        Dialog 1", JOptionPane.INFORMATION_MESSAGE);
        dozen = eggs / 12; 
        individual = eggs % 12;
        price = (dozen * priceOfDozen) + (individual * priceOfIndividual);
        JOptionPane.showMessageDialog(null, "You ordered " + eggs + " eggs. That's " + dozen + " 
        dozen and " + individual + " loose eggs at 45 cents each for a total of $" + price + ".");
    }
}

标签: javacompiler-errors

解决方案


该方法showInputDialog实际上返回 a String,这就是您收到错误的原因,这很清楚。

eggs = Integer.valueOf(JOptionPane.showInputDialog(null, "Enter the number of eggs in the order.", "Eggs 
        Dialog 1", JOptionPane.INFORMATION_MESSAGE));

您必须先将其转换为整数。


推荐阅读