gpt4 book ai didi

java - Java中的不可转换类型错误

转载 作者:搜寻专家 更新时间:2023-11-01 03:21:46 24 4
gpt4 key购买 nike

我有以下代码:

import javax.swing.JOptionPane;

public class Excercise613 {
/**
* Display the prompt to the user; wait for the user to enter
* a whole number; return it.
*/

public static int askInt(String prompt) {
String s = JOptionPane.showInputDialog(prompt);
Double d = Double.parseDouble(s);
return d >= 0 ? (int) d : (int) (d - 1);
} // End of method
} // End of class

当我编译它时,我在屏幕底部收到一条错误消息,提示“不可转换的类型。 必填:整数; found: java.lang.Double"然后它突出显示了 "(int) d"代码段。

我在这里做错了什么?为什么类型转换不起作用?

最佳答案

使用 doubleValue() 函数。

例如:

import javax.swing.JOptionPane;

public class Excercise613 {
// Display the prompt to the user; wait for the user to enter a whole number;
// return it.
public static int askInt(String prompt) {
String s = JOptionPane.showInputDialog(prompt);
Double d = Double.parseDouble(s);
return d >= 0 ? (int) d.doubleValue() : (int) (d.doubleValue() - 1);
} // End of method
} // End of class

或者您可以删除 (int) 强制转换并只调用 d.intValue()。例如:返回 d >= 0 ? d.intValue() : (d.intValue() - 1);

关于java - Java中的不可转换类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28800606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com