Can';不要从程序开始。Java中带扫描器的简单任务
我的程序不想运行。我不知道,问题出在哪里 我的任务如下: 编写一个程序,要求用户通过扫描器输入他/她的身高(米,双倍),然后输入体重(公斤,双倍)。然后,程序将显示在一个消息框中Can';不要从程序开始。Java中带扫描器的简单任务,java,java.util.scanner,Java,Java.util.scanner,我的程序不想运行。我不知道,问题出在哪里 我的任务如下: 编写一个程序,要求用户通过扫描器输入他/她的身高(米,双倍),然后输入体重(公斤,双倍)。然后,程序将显示在一个消息框中(JOptionPane.showMessageDialog)他/她的BMI系数(体重指数),定义为体重(千克)除以身高(米)的平方,这个数字应该接近20 public static void main(String[] args) { System.out.println("Write your height
(JOptionPane.showMessageDialog)
他/她的BMI系数(体重指数),定义为体重(千克)除以身高(米)的平方,这个数字应该接近20
public static void main(String[] args) {
System.out.println("Write your height, then press ENTER");
java.util.Scanner in = new java.util.Scanner(System.in);
double x = in.nextDouble();
System.out.println("Write your weight, then press ENTER");
java.util.Scanner in2 = new java.util.Scanner(System.in);
double y = in.nextDouble();
JOptionPane.showMessageDialog((double)("Your BMI is"+y:(x*x)));
}
我是非常非常初学者。你能解释一下我的错误吗?我想问题出在最后一行: “你的体重指数是”+y:(x*x) 如果要除数,需要使用“/”运算符。 我也认为你需要括号:
JOptionPane.showMessageDialog((double)("Your BMI is"+(y/(x*x))));
你的答案似乎有两处错误 1) 您需要使用
/
进行除法,而不是:
2) 您正在尝试将字符串
消息键入到double
请参阅下面更正的代码-
double bodyMass = y/(x*x);
JOptionPane.showMessageDialog("Your BMI is"+bodyMass);
不能对任何字符串强制转换双精度。您的代码执行的是错误
JOptionPane.showMessageDialog("Your BMI is"+y/(x*x));
请注意,上面的代码我已经删除了doublecast。您甚至不需要任何双重强制转换,因为结果总是double我的版本是jdk 10.0.2请删除问题中的JavaScript标记。您的问题与Java有关,而不是与JavaScription有关。如果您在尝试运行此程序时提到遇到的异常,那就太好了。我应该使用什么来代替字符串?因为程序无法看到JOptionPane.showMessageDialog,或者可能是因为我使用的是Notepad++?您应该只使用字符串。但不能将字符串类型转换为双精度。我不明白你第二句话的意思。希望您对JOptionPane使用正确的导入语句。您是否仍然收到任何CompileTimeException或RuntimeException?如果是,请在问题中分享。