java - 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 + ".");
}
}
解决方案
该方法showInputDialog
实际上返回 a String
,这就是您收到错误的原因,这很清楚。
eggs = Integer.valueOf(JOptionPane.showInputDialog(null, "Enter the number of eggs in the order.", "Eggs
Dialog 1", JOptionPane.INFORMATION_MESSAGE));
您必须先将其转换为整数。
推荐阅读
- r - 使用 arulesCBA 在 lhs 中带有 inf 和 -inf 的规则
- svelte-3 - 无法将 Svelte 变量绑定到仪表元素
- pandas - 当一个用数字索引而另一个用日期索引时,如何将两个系列连接到一个数据框中
- go - gRPC-Gateway 不使用 http 端点方法生成 resiter
- node.js - 如何配置 Firebase 管理员以根据请求的环境初始化应用程序?
- sql - 带有 if 和 else 问题的 PL/sql 过程
- powerbi - 电源BI | Anti-Join (sorta) 表具有不相等的行和列,但共享一个 KEY
- mysql - 使用 SQL 查找累积进度
- time-series - 如何对这个时间序列数据进行回归?任何人都可以帮助我,无论我做对与否
- api - 如何在 Google Tasks API 调用中填写 @me 参数?