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));
}
b为 0 不能作为除数
double c=(double)a/b; c的值 为NaN
format当然等不到想要的结果
除数是0(这里(double)a/b的b是会被转换为0.0的),得到的是NaN或者是Infinity,调用format方法不能识别,所以是"?",你可以将b=0改为不为0的数就可以了。