用'.'截取分割字符串,应该把ip分成四个子串。然后分别对这四个子串进行检验:检验的项目有1、非空检验;2、非零数是否含有前导零;3、是否含'+'号;4、是否在0-255之间。

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        boolean isValid= true;
        while (in.hasNext()) { 
            String s = in.nextLine();
            String ips[] = s.split("\\.");
            if(ips.length!=4){
                isValid = false;
                break;
            }
            for(int i =0;i<ips.length;++i){
                if(check(ips[i])){
                   isValid = false;
                    break;
                }
            }
        }
        if(isValid)
             System.out.println("YES");
        else  System.out.println("NO");
    }
    public static boolean check(String s){
        if(s.equals(""))return true;
        int temp =Integer.parseInt(s);
        if(temp!=0&&s.charAt(0)=='0')return true;
        else if(s.charAt(0)=='+')return true;
        else if(temp<0||temp>=255)return true;
        return false;
    }
}