0

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

我正在尝试制作一个程序来说明数字是否为偶数。由于某种原因,我的程序不起作用。它一直说需要双精度,但我提供的是整数。我有这个 parsedouble 的东西,它应该把我的字符串变成一个 double 但我猜它写错了。谁能告诉我为什么?

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);
    }
}
4

3 回答 3

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

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

Double myDouble = Double.parseDouble(number);
于 2013-10-05T02:29:01.153 回答
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);
}
}

以下是输出 1

输出1

输出2

输出2

输出3

3输出

输出4

5输出

于 2013-10-05T02:42:31.813 回答
1

该代码有几个问题:

  1. 行后应该有一个分号a = number
  2. 编码

    number = Double.parseDouble(number);
    

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

    a = Double.parseDouble(number);
    
  3. parseDouble函数返回 a double,它是一个浮点值。您不能将其分配给int整数值。你需要Integer.parseInt(number)改用。
  4. main函数必须static是.
  5. 语句后不应有分号if

由于所有这些问题,这似乎不太可能是您的真实代码。

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

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);
    }
}    
于 2013-10-05T02:32:21.270 回答