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 を解析し、その表現からaStringを作成しfloatます。その結果を変数に割り当て、それを使用して比較します

float parsedValue = Float.parseFloat(Input);

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

Float.parseFloat(String input)を返しますがfloat、ランタイム オブジェクトを別の型に変換することはありません。Java ではメソッドが変換しないためです。

戻り値をどこかに保存して、代わりに使用する必要があります。

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