这段代码中,错误出现在以下几个地方:

  1. 在Java中,String类型的变量不能直接与Integer类型的变量相乘。在这里,nn是一个String类型的变量,src.toInteger()是一个Integer类型的变量,所以无法直接相乘。你需要将nn转换为Integer类型后再进行相乘操作。

  2. 在Java中,整数相除得到的结果也是整数,如果想得到小数结果,需要将其中一个操作数转换为浮点数。在这里,你可以将ss或者src.toInteger()转换为浮点数类型来得到小数结果。

  3. 在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);
Java代码错误分析及修复:String与Integer相乘、整数除法、printf函数使用

原文地址: https://www.cveoy.top/t/topic/qnWc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录