class Solution {
    public String solution(String new_id) {
        String answer = "";
        answer = new_id;
        
        answer = upperToLower(answer);
        answer = change_correct_char(answer);
        answer = change_period(answer);
        answer = chanegFirstOrLastPeriod(answer);
        answer = isEmptyAdda(answer);
        answer = lengthCorrect(answer);
        answer = minChar(answer);
        return answer;
    }
    public String upperToLower(String new_id){
        return new_id.toLowerCase();
    }
    public String change_correct_char(String new_id){
        String answer = "";
        for(int i = 0 ; i < new_id.length(); i++){
            char ch = new_id.charAt(i);
            if(Character.isDigit(ch) || Character.isAlphabetic(ch) || ch == '-'|| ch == '_' || ch == '.')
                answer += ch;
        }
        return answer;
    }
    public String change_period(String new_id){
        while(new_id.indexOf("..") != -1)
        {
            new_id = new_id.replace("..", ".");
        }
        return new_id;
    }
    public String chanegFirstOrLastPeriod(String new_id){
        if(!new_id.isEmpty() && new_id.charAt(0) == '.')
            new_id = new_id.substring(1);
        if(!new_id.isEmpty() && new_id.charAt(new_id.length()-1)=='.')
            new_id = new_id.substring(0, new_id.length()-1);
        return new_id;
    }
    public String isEmptyAdda(String new_id){
        if(new_id.isEmpty())
            new_id = "a";
        return new_id;
    }
    public String lengthCorrect(String new_id){
        if(new_id.length() >= 16){
            new_id = new_id.substring(0,15);
            if(new_id.charAt(new_id.length()-1) == '.')
                new_id = new_id.substring(0,new_id.length()-1);
        }
        return new_id;
    }
    public String minChar(String new_id){
            while(new_id.length() < 3){
                new_id += new_id.charAt(new_id.length()-1);
            }
        return new_id;
    }
}

+ Recent posts