Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么netbeans不能运行该程序,因为这是一个双重类型不匹配的异常,尽管代码中的所有变量都是双重的?_Java - Fatal编程技术网

Java 为什么netbeans不能运行该程序,因为这是一个双重类型不匹配的异常,尽管代码中的所有变量都是双重的?

Java 为什么netbeans不能运行该程序,因为这是一个双重类型不匹配的异常,尽管代码中的所有变量都是双重的?,java,Java,我用netbeans编写了一个代码,目的是计算五角大楼的面积,我用double类型的所有变量编写了它。问题是,当我输入一个double来测试代码时,应用程序会提示一个不匹配的异常 我输入了一个int变量,它就可以工作了,我尝试过修改代码,但是没有工作 包ejercicios.de.practica.capitalulo4\u 5; 导入java.util.Scanner; 公共类电子商务实践资本4_5{ 公共静态void main(字符串[]args){ //Crear变量 双区,s,r; 最终

我用netbeans编写了一个代码,目的是计算五角大楼的面积,我用double类型的所有变量编写了它。问题是,当我输入一个double来测试代码时,应用程序会提示一个不匹配的异常

我输入了一个int变量,它就可以工作了,我尝试过修改代码,但是没有工作

包ejercicios.de.practica.capitalulo4\u 5;
导入java.util.Scanner;
公共类电子商务实践资本4_5{
公共静态void main(字符串[]args){
//Crear变量
双区,s,r;
最终双PI=3.1416;
最终双树体=PI/5;
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入从五角大楼中心到顶点的长度:”;
r=input.nextDouble();
s=2*r*(数学sin(TREINTAYSEIS));
面积=(5*(数学功率(s,2))/4*(数学坦(TREINTAYSEIS));
System.out.println(“五角大楼的面积是”+面积);
}
}
如果我输入从中心到顶点的长度:5.5,五角大楼的面积预计为71.92,但在我的程序中,它不接受双重输入。我必须输入整数5,结果是37.7007586539534


这是因为你的面积方程没有按你期望的顺序计算。你需要更具体地说明你希望方程如何计算。括号内的方程式部分始终首先计算,因此记住:

而不是:

Area= (5 * (Math.pow(s, 2))) / 4 * (Math.tan(TREINTAYSEIS));
这样做:

Area = (5 * Math.pow(s, 2)) / (4 * Math.tan(TREINTAYSEIS));
4*Math.tan(TREINTAYSEIS)
周围放上括号。你有很多不必要的括号,应该像我一样去掉它,因为它只会把事情弄得一团糟。此外,将事物隔开可以帮助你看得更清楚一些。就个人而言,如果我进行双重计算,那么我会尝试在该计算中使用所有双重:

Area = (5.0d * Math.pow(s, 2.0d)) / (4.0d * Math.tan(TREINTAYSEIS));
旁注: 如果您只使用PI为4的精度,那么也许您应该考虑将所有的计算都做为精度。

什么是“失配异常”?它如何“不接受双重输入”?