투케이2K

273. (java/자바) [유틸 파일] LPAD , RPAD 왼쪽 및 오른쪽 부족한 문자열 채우기 수행 실시 본문

Java

273. (java/자바) [유틸 파일] LPAD , RPAD 왼쪽 및 오른쪽 부족한 문자열 채우기 수행 실시

투케이2K 2022. 7. 27. 17:28

[개발 환경 설정]

개발 툴 : Eclipse

개발 언어 : Java

 

[소스 코드]

    // TODO [LPAD 왼쪽 기준 데이터 채우기 수행 실시]
    public static String LPAD(String stringData, int lengthData, String charData){

        /**
         * // -----------------------------------------
         * [LPAD 메소드 설명]
         * // -----------------------------------------
         * 1. 왼쪽 기준 데이터 채우기 수행 실시
         * // -----------------------------------------
         * 2. 호출 방식 : C_Util.LPAD("투케이", 10, "@");
         * // -----------------------------------------
         * 3. 리턴 데이터 : @@@@@@@투케이
         * // -----------------------------------------
         * */

        // [리턴 반환 변수 선언 실시]
        String returnData = "";

        // [인풋 데이터 조건 체크 수행 실시 : 원본 문자열 길이 보다 인풋 값 길이가 더크고, char 문자가 1글자 인 경우]
        try {
            if (stringData != null
                    && stringData.length() < lengthData
                    && charData != null
                    && charData.length() == 1){ // [조건 만족 함]

                // [반복문을 수행 횟수]
                int countValue = lengthData - stringData.length();

                // [반복문 수행 실시]
                for (int i=0; i<countValue; i++){

                    // [문자 추가]
                    returnData = returnData + charData;
                }

                // [원본 추가]
                returnData = returnData + stringData;
            }
            else { // [조건 만족 안함]

                // [리턴 결과 반환 수행 실시]
                returnData = stringData;
            }
        }
        catch (Exception e){
            e.printStackTrace();
        }

        // [로그 출력 실시]
        ///*
        Log.i("---","---");
        Log.d("//===========//","================================================");
        Log.i("","\n"+"[C_Util >> LPAD() :: 왼쪽 기준 데이터 채우기 수행 실시]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[input [string] :: "+String.valueOf(stringData)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[input [length] :: "+String.valueOf(lengthData)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[input [char] :: "+String.valueOf(charData)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[return [string] :: "+String.valueOf(returnData)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[return [length] :: "+String.valueOf(returnData.length())+"]");
        Log.d("//===========//","================================================");
        Log.i("---","---");
        // */

        // [리턴 결과 반환 실시]
        return returnData;
    }





    // TODO [RPAD 오른쪽 기준 데이터 채우기 수행 실시]
    public static String RPAD(String stringData, int lengthData, String charData){

        /**
         * // -----------------------------------------
         * [RPAD 메소드 설명]
         * // -----------------------------------------
         * 1. 오른쪽 기준 데이터 채우기 수행 실시
         * // -----------------------------------------
         * 2. 호출 방식 : C_Util.RPAD("투케이", 10, "@");
         * // -----------------------------------------
         * 3. 리턴 데이터 : 투케이@@@@@@@
         * // -----------------------------------------
         * */

        // [리턴 반환 변수 선언 실시]
        String returnData = "";

        // [인풋 데이터 조건 체크 수행 실시 : 원본 문자열 길이 보다 인풋 값 길이가 더크고, char 문자가 1글자 인 경우]
        try {
            if (stringData != null
                    && stringData.length() < lengthData
                    && charData != null
                    && charData.length() == 1){ // [조건 만족 함]

                // [반복문을 수행 횟수]
                int countValue = lengthData - stringData.length();

                // [원본 추가]
                returnData = returnData + stringData;

                // [반복문 수행 실시]
                for (int i=0; i<countValue; i++){

                    // [문자 추가]
                    returnData = returnData + charData;
                }
            }
            else { // [조건 만족 안함]

                // [리턴 결과 반환 수행 실시]
                returnData = stringData;
            }
        }
        catch (Exception e){
            e.printStackTrace();
        }

        // [로그 출력 실시]
        ///*
        Log.i("---","---");
        Log.d("//===========//","================================================");
        Log.i("","\n"+"[C_Util >> RPAD() :: 오른쪽 기준 데이터 채우기 수행 실시]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[input [string] :: "+String.valueOf(stringData)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[input [length] :: "+String.valueOf(lengthData)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[input [char] :: "+String.valueOf(charData)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[return [string] :: "+String.valueOf(returnData)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[return [length] :: "+String.valueOf(returnData.length())+"]");
        Log.d("//===========//","================================================");
        Log.i("---","---");
        // */

        // [리턴 결과 반환 실시]
        return returnData;
    }

 

반응형
Comments