package test;public class Testzero {
public static void main(String[] args) {
//求写一个java方法,实现下面的转换
String s="2.0";----》2.0(和原来一样)
s="2.00";----》2.0(去掉末尾多余的0)
s="2.000";----》2.0(去掉末尾多余的n个0)
s=".333";----》0.333(小数点前面没0就补一个0)
s="001";----》001(和原来一样)
s="0001";----》0001(和原来一样)

}
}

解决方案 »

  1.   

    import java.util.Scanner;public class  TestZero
    {
    public static void main(String[] args) 
    {
    System.out.println("输入一串数字:");
    try{
    //从控制台接受一个数字
    Scanner s = new Scanner(System.in);
    String str = s.nextLine();

    //利用函数convert进行转换
    String result = convert(str);
    System.out.println(result);
    }catch(Exception e){
    e.printStackTrace();
    }
    }

    public static String convert(String str){
    //求出str的长度
    int length = str.length();
    //定义返回值
    String result = null;
    //首先判断str中是否包含"."
    if(str.contains(".")){
    //如果"."是第一个
    if(str.indexOf(".")==0){
    result = "0"+str;
    }
    if(str.indexOf(".")+1<length&&(str.indexOf(".")!=0)){
    str = str.substring(0,str.indexOf(".")+2);
    String strNow = str.substring((str.indexOf(".")+2));
    if(strNow.contains("0")){
    strNow="";
    }
    str += strNow;
    result = str;
    }

    }else{
    //直接输出即可
    result = str;
    }
    return result;
    }
    }
      

  2.   

    package com.tur.demo;import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Hello {
        public static String match(String str) {
            Pattern pattern = Pattern.compile("(\\d*)(\\.\\d)?");
            Matcher matcher = pattern.matcher(str);        String result = null;        while (matcher.find()) {
                result = matcher.group(0);
                result = result.startsWith(".") ? "0" + result : result;
                break;
            }        return result;
        }    public static void main(String[] args) {
            String[] strs = {"2.0", "2.00", "2.000", ".333", "001", "0001"};        for (int i = 0; i < strs.length; ++i) {
                System.out.println(match(strs[i]));
            }
        }
    }2.0
    2.0
    2.0
    0.3
    001
    0001
      

  3.   


    private static String match2(String str){
    String result=null;
    if(!str.contains("."))
    result=str;
    else{
    DecimalFormat format=new DecimalFormat("0.0");
    result= format.format(Double.valueOf(str));
    }
    return result;
    }
      

  4.   


    正解。
    格式化字符串。jdk提供的强大的工具。