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.parseFloat(Input);) 你知道问题出在哪里吗?(如果这个问题已经得到回答,那么你能给我一个链接吗?)

不会更改输入。将其结果分配给一个变量,并使用该变量进行比较

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