Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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 是什么导致此代码无法正确编译_Java - Fatal编程技术网

Java 是什么导致此代码无法正确编译

Java 是什么导致此代码无法正确编译,java,Java,我正在编制一个四舍五入到小数点后两位的程序。用户在一个浮点中输入他们要舍入的内容,然后返回双舍入到最接近的小数点后两位。代码中没有错误,但编译后代码返回0.0。非常感谢您的帮助 成套练习; 导入java.util.Scanner; 班级四舍五入{ 浮动精度; 浮动精度(浮动f){ f=精确; 精确=(浮点)数学四舍五入(f*100)/100; 返回精确; } } 公开课轮{ 公共静态void main(字符串[]args){ 浮动原始浮动,圆形浮动; System.out.println(“输入

我正在编制一个四舍五入到小数点后两位的程序。用户在一个浮点中输入他们要舍入的内容,然后返回双舍入到最接近的小数点后两位。代码中没有错误,但编译后代码返回0.0。非常感谢您的帮助

成套练习;
导入java.util.Scanner;
班级四舍五入{
浮动精度;
浮动精度(浮动f){
f=精确;
精确=(浮点)数学四舍五入(f*100)/100;
返回精确;
}
}
公开课轮{
公共静态void main(字符串[]args){
浮动原始浮动,圆形浮动;
System.out.println(“输入浮点数”);
扫描仪类型=新扫描仪(System.in);
originalfloat=type.nextFloat();
舍入ro=新舍入();
圆形浮点数=旋转精度(原始浮点数);
System.out.println(“原始浮点数:+原始浮点数”);
System.out.println();
系统输出打印项次(“四舍五入浮点数”+四舍五入浮点);
}
}

只需删除这一行:
f=precision因为您不使用名为f的给定参数。您只需使用默认值precise,即0.0

float preciseNumber(float f){
    precise = (float) Math.round(f * 100)/100;
    return precise;
}

我想换一条线

precise = (float) Math.round(f*100)/100;
precise = (float) Math.floor(f*100)/100;
用这条线

precise = (float) Math.round(f*100)/100;
precise = (float) Math.floor(f*100)/100;

问题在于这一部分:

浮点精度(浮点f){
f=精确;
精确=(浮点)数学四舍五入(f*100)/100;
返回精确;
}
在此处实例化
舍入
对象时:

舍入ro=新舍入();
您将
precise
初始化为
0
,因为当您不显式初始化基本数字类型时,Java就是这样做的:

浮点精度;
如果用值实例化
Precision
,则将其替换为
precise
的内容,该内容已初始化为
0

浮点精度(浮点f){

f=precise;//您的问题是:为什么这段代码编译不正确?然后您会说:“代码中没有错误,但编译后代码返回0.0”。它可以正确编译,您只是在代码中犯了一个错误。您的标题声称代码没有正确编译…我看不到任何迹象。我看到执行时出现意外行为,但事实并非如此。如果您可以硬编码示例值并显示输出,而不是依赖用户输入,这也会非常有帮助(然后不告诉我们你在使用什么值)。这个代码不返回任何东西,如果它在stdout上输出了什么东西的话。什么是输入,什么是确切的实际输出,什么是确切的预期输出?这不会有帮助,他在代码中有错误。这只是将舍入机制更改为总是向下舍入,并不能修复任何问题。