这是我第一次尝试自己做任何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);
}
}
答案 0 :(得分:2)
number = Double.parseDouble(number); // error.
number定义为字符串,而不是double。您将需要一个double
变量来保存已解析的值。
Double myDouble = Double.parseDouble(number);
答案 1 :(得分:1)
该代码存在以下几个问题:
a = number
行之后应该有分号。代码
number = Double.parseDouble(number);
不起作用,因为数字不是字符串。我认为你的意思是:
a = Double.parseDouble(number);
parseDouble
函数返回double
,这是一个浮点值。您无法将其分配给整数值int
。您需要使用Integer.parseInt(number)
代替。main
功能必须为static
。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);
}
}
答案 2 :(得分:1)
以下是检查号码odd
或even
的完整代码,您会发现代码中的错误位置。
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 :
<强> OUTPUT2 强>
<强> OUTPUT3 强>
<强>输出4 强>