编译字符串双转换中的错误

时间:2013-10-05 02:26:02

标签: java compiler-errors

这是我第一次尝试自己做任何Java程序。

我正在尝试制作一个程序,说明数字是否均匀。由于某种原因,我的程序不起作用。它一直说需要一个double,但我提供的是int。我有这个解析过的东西,应该把我的字符串改成一个双,但我想它写错了。谁能告诉我为什么?

package javaapplication2;

import javax.swing.JOptionPane;
public class JavaApplication2 {

    public void main(String[] args) {
        int a;
        String number;
        number = JOptionPane.showInputDialog("What is your number");
        number = Double.parseDouble(number);
        a = number
        if ( ( number % 2 ) == 0 );
            System.out.println("That is an even number");     

        System.exit(0);
    }
}

3 个答案:

答案 0 :(得分:2)

number = Double.parseDouble(number); // error.

number定义为字符串,而不是double。您将需要一个double变量来保存已解析的值。

Double myDouble = Double.parseDouble(number);

答案 1 :(得分:1)

该代码存在以下几个问题:

  1. a = number行之后应该有分号。
  2. 代码

    number = Double.parseDouble(number);
    

    不起作用,因为数字不是字符串。我认为你的意思是:

    a = Double.parseDouble(number);
    
  3. parseDouble函数返回double,这是一个浮点值。您无法将其分配给整数值int。您需要使用Integer.parseInt(number)代替。
  4. main功能必须为static
  5. if声明后不应有分号。
  6. 由于所有这些问题,这似乎不太可能是您真正的代码。

    以下是包含所有这些更正的代码:

    package javaapplication2;
    
    import javax.swing.JOptionPane;
    
    public class JavaApplication2 {
        public static void main(String[] args) {
            int a;
            String number;
            number = JOptionPane.showInputDialog("What is your number");
            a = Integer.parseInt(number);
            if ( ( a % 2 ) == 0 )
                 System.out.println("That is an even number");
            System.exit(0);
        }
    }    
    

答案 2 :(得分:1)

以下是检查号码oddeven的完整代码,您会发现代码中的错误位置。

import javax.swing.JOptionPane;


public class JavaApplication2 {
public static void main(String[] args) {
    int a;
    String number;
    number = JOptionPane.showInputDialog("What is your number");

 //Double d = Double.parseDouble(number);//For Double

 a=Integer.parseInt(number);//Because of you declared a as int

    if ( ( a % 2 ) == 0 )//;
         System.out.println("That is an even number");

    else{
        System.out.println("That is an odd number");
        }
    System.exit(0);
}
}

以下是 output1

output1

<强> OUTPUT2

output2

<强> OUTPUT3

3output

<强>输出4

5output