入门级问题,小生不懂忘大神解答

设计并实现方法format该方法接受一个float型参数f 将f转换成字符串,并将其小数部分最末位连续的0替换成x
求前辈解答

public void format(float f){
        String s = f+"";
        StringBuffer sb = new StringBuffer(s);
        int i = sb.indexOf("0");
        StringBuffer buff = sb.replace(i, sb.length()-1, "x");
    }

java 里面的float作为传参数,编译器会自动做如下处理 :
1、如果入参没有小数点,那么就添加小数点+0,例如2f会变成 2.0
2、如果入参有不全为0的小数点部分,那么最后面的0全部自动剔除,例如 3.02000f会变为 3.02
3、如果入参有全为0的小数点部分,那么最后面的0会被剔除为一个,即 3.0000f会变成 3.0
了解这么多了,就好办了 。

public static void main(String args[]) {
System.out.println(format(1.34f));
System.out.println(format(1.34000f));
System.out.println(format(1000f));
System.out.println(format(10.00f));
System.out.println(format(1000.030f));
System.out.println(format(1000.03f));
}

public static String format(float f) {
    String fstr = f + "";
    if (fstr.endsWith("0")) {
        return fstr.substring(0, fstr.length() - 1) + "x";
    } else {
        return fstr;
    }
}