java 问题,如下,我想了好久还是想不出来,请高手指教啊!

2025-03-06 03:45:31
推荐回答(3个)
回答1:

if(a==0||b==0){
System.out.println(“0%”);

}else{
double c=(double)a/b;
NumberFormat nf = NumberFormat.getPercentInstance();
nf.setMaximumFractionDigits(1);
System.out.println(nf.format(c));
}

回答2:

b为 0 不能作为除数
double c=(double)a/b; c的值 为NaN

format当然等不到想要的结果

回答3:

除数是0(这里(double)a/b的b是会被转换为0.0的),得到的是NaN或者是Infinity,调用format方法不能识别,所以是"?",你可以将b=0改为不为0的数就可以了。