Java代码错误分析及修复:String与Integer相乘、整数除法、printf函数使用
这段代码中,错误出现在以下几个地方:
-
在Java中,String类型的变量不能直接与Integer类型的变量相乘。在这里,
nn是一个String类型的变量,src.toInteger()是一个Integer类型的变量,所以无法直接相乘。你需要将nn转换为Integer类型后再进行相乘操作。 -
在Java中,整数相除得到的结果也是整数,如果想得到小数结果,需要将其中一个操作数转换为浮点数。在这里,你可以将
ss或者src.toInteger()转换为浮点数类型来得到小数结果。 -
在Java中,printf函数需要使用格式化字符串来格式化输出。在这里,你可以使用
System.out.printf()来输出结果,并使用格式化字符串'%.2f'来控制输出结果保留两位小数。
修复后的代码如下:
String ret = 'kl';
String src = '20';
String temp = '20L/桶';
String param0 = '';
String nn = '';
double ss = 0.0;
temp = temp.replace('L', '');
String[] bmbmList = temp.split('/');
nn = bmbmList[0];
if(!bmbmList[1].equals(ret))
{
ss = Double.parseDouble(nn) * Integer.parseInt(src);
ss = ss / 1000;
}
System.out.printf('%.2f', ss);
原文地址: https://www.cveoy.top/t/topic/qnWc 著作权归作者所有。请勿转载和采集!