Java 更改为浮动后:“;无法从字符串“确认浮动”;
嘿,这是我的代码:Java 更改为浮动后:“;无法从字符串“确认浮动”;,java,Java,嘿,这是我的代码: if(repeat) { Guesses++; String Input = JOptionPane.showInputDialog("Enter a number between 0 and 10. So far you have had " + Guesses + " guesses."); Float.parseFloat(Input); if(**Input > RandomNum**) {
if(repeat)
{
Guesses++;
String Input = JOptionPane.showInputDialog("Enter a number between 0 and 10. So far you have had " + Guesses + " guesses.");
Float.parseFloat(Input);
if(**Input > RandomNum**)
{
JOptionPane.showMessageDialog(null, "Too small.");
}
else if(if(repeat)
{
Guesses++;
String Input = JOptionPane.showInputDialog("Enter a number between 0 and 10. So far you have had " + Guesses + " guesses.");
Float.parseFloat(Input);
if(Input > RandomNum)
{
JOptionPane.showMessageDialog(null, "Too small.");
}
else if(Input = RandomNum)
{)
(这只是其中的一部分)
带**的文本是我得到错误的地方。上面说
- 未为参数类型字符串float定义运算符>
float parsedValue = Float.parseFloat(Input);
if(parsedValue > RandomNum)
Float.parseFloat(字符串输入)
返回一个Float
,它不会像Java中没有方法那样将运行时对象转换为另一种类型
您应该将返回的值保存在某个位置,然后改用它:
float floatInput = Float.parseFloat(input);
if (floatInput > randomNum)
...
尝试遵循java命名约定,在标题中发布实际的错误消息,而不仅仅是编造错误消息。如果你想得到正确的答案,你需要问正确的问题。在Java中,当你将一个变量声明为一个类型时,它将始终是该类型(或者,对于一个类,它是该类型的一个子类)。因此,
输入
将始终是一个字符串
。无法使它在运行时成为int
或float
。如果你只习惯于JavaScript或PHP等语言,在这些语言中你可以随意更改变量类型,那么你就必须开始用不同的方式思考。感谢它对不等式起到了作用,但是当我在“If”中将它们设置为相等时语句I收到以下错误:类型不匹配:无法从浮点转换为boolean@user2789610您是用=
检查相等性,还是用=
将一个设置为另一个?
float floatInput = Float.parseFloat(input);
if (floatInput > randomNum)
...