0

嘿,这是我的代码:

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)
        {)

(这只是其中的一部分)带有 ** 的文本是我得到错误的地方。它说

  • 运算符 > 未定义参数类型 String、float

虽然我(认为)我将输入更改为浮点数(Float.parseFloat(Input);) 所以你知道问题是什么吗?(如果这已经回答了,那么你能给我一个链接吗?)

4

2 回答 2

4
Float.parseFloat(Input);

不改变输入。它解析 a并从它的表示中String创建 afloat。将其结果分配给变量并使用该变量进行比较

float parsedValue = Float.parseFloat(Input);

if(parsedValue > RandomNum)
于 2013-09-17T23:49:50.013 回答
3

Float.parseFloat(String input)返回 a float,它不会将运行时对象转换为另一种类型,因为在 Java 中没有方法这样做。

您应该将返回的值保存在某处并改用它:

float floatInput = Float.parseFloat(input);
if (floatInput > randomNum)
...
于 2013-09-17T23:50:14.997 回答