Java

28_문자열 변환 프로그램

우오우어아오앙 2016. 9. 26. 17:56
728x90

=================================

반응형

==============
String Reversing And Comparing Utility
===============================================
1. Reverse String
2. Compare String
0. Exit
>> Select menu : 1 [Enter]
> Input String : Apple [Enter]
:: Converted String : elppA
===============================================
String Reversing And Comparing Utility
===============================================
1. Reverse String
2. Compare String
0. Exit
>> Select menu : 1 [Enter]
> Input String : I am a boy [Enter]
:: Converted String : I ma a yob
===============================================
String Reversing And Comparing Utility
===============================================
1. Reverse String
2. Compare String
0. Exit
>> Select menu : 1 [Enter]
> Input String : X550VF [Enter]
:: Converted String : F550VX
===============================================
String Reversing And Comparing Utility
===============================================
1. Reverse String
2. Compare String
0. Exit
>> Select menu : 1 [Enter]
> Input String : LG180LF Android4
:: Reversed String : FL180GL diordnA4
입력 받은 문자열을 단어 단위로 역순 변환하여 출력한다.
문자열에 숫자가 포함된 경우, 숫자의 위치와 순서는 바뀌지 않는다.
LGE Confidential

 

 

 

 

package com.lge.test;

import java.util.Scanner;

import com.lge.lang.NumIgnoreString;

public class Java_Test_01 {

    public static void main(String[] args) throws Exception {

        boolean loopFlag = true;

        while (loopFlag) {
            int input = displayMenu();
            switch (input) {
            case 1:
                reverseString();
                break;
            case 2:
                compareString();
                break;
            case 0:
                loopFlag = false;
                break;
            default:
                break;
            }
        }
    }

    /** Displaying menu */
    private static int displayMenu() {
        System.out.println("\n===============================================");
        System.out.println("     String Reversing And Comparing Utility");
        System.out.println("===============================================");
        System.out.println("1. Reverse String");
        System.out.println("2. Compare String");
        System.out.println("0. Exit");
        System.out.print(">> Select menu : ");

        Scanner scanner = new Scanner(System.in);
        return scanner.nextInt();
    }

    /** Reverse string */
    private static void reverseString() throws Exception {
        System.out.println();
        System.out.print("> Input String : ");

        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();

        NumIgnoreString myString = new NumIgnoreString(input);
        System.out.println(":: Reversed String : " + myString.reverse());
        System.out.println();
    }

    /** Comparing two strings */
    private static void compareString() throws Exception {
        Scanner scanner = new Scanner(System.in);
        System.out.println(); 
        System.out.print("> Input String1 : ");
        String input1 = scanner.nextLine();
        System.out.print("> Input String2 : ");
        String input2 = scanner.nextLine();

        NumIgnoreString myString1 = new NumIgnoreString(input1);
        NumIgnoreString myString2 = new NumIgnoreString(input2);

        if (myString1.equals(myString2)) {
            System.out.println(":: Compared Result : Matched!");
        } else {
            System.out.println(":: Compared Result : Not Matched!");
        }

        System.out.println();
    }
}

 

package com.lge.lang;

public class NumIgnoreString {

    private String str;

    public NumIgnoreString(String str) {
        this.str = str;
    }

    /**
     * Causes this character sequence to be replaced by the reverse of the
     * sequence based on ignoring numbers.
     *
     * @return revered string
     */
    public String reverse() {
        StringBuilder builder = new StringBuilder(str);
        return builder.reverse().toString();
       
//      return (new StringBuffer(str).reverse().toString());
    }
}

 

 

 

 

 

Introduction
본 문제에서는 입력 받은 문자열의 단어 단위 역순 변환 및 비교 기능을 수행하는 프로그램을 작성한다.
1. 문자열 변환 프로그램
Requirements
1.문자열 역순 변환 - 문자열을 입력 받은 후, 단어 단위로 역순 변환하여 출력한다. 단, 문자열에 숫자가 포함되어 있는 경우, 숫자는 역순 변환에 포함시키지 않는다. Ex. Thanks 2You  sknahT 2uoY - 단어는 공백 문자(‘ ‘) 를 기준으로 구분한다. - 입력 값에는 오류가 없다고 가정한다.
2.문자열 비교 - 두 개의 문자열을 입력 받은 후, 숫자를 제외하고 같은 문자열인지 확인하여 결과를 출력한다. 단, 대소문자는 구분하지 않는다. - 입력 값에는 오류가 없다고 가정한다.
3.다음 제약 사항을 준수한다. - 제시되지 않은 기능(ex. 오류메시지 처리, 프로그램 종료)은 Sample Run을 참조한다. - 조건이나 Sample Run에 명시되지 않은 예외상황은 고려하지 않는다. - 제공된 코드의 함수원형을 반드시 준수한다.

 

package com.lge.lang;

public class NumIgnoreString {

    private String str;

    public NumIgnoreString(String str) {
        this.str = str;
    }

    /**
     * Causes this character sequence to be replaced by the reverse of the
     * sequence based on ignoring numbers.
     *
     * @return revered string
     */
    public String reverse() {

       
        // TODO : Write code here
     System.out.print("");
       
        return "";
    }
}

 

package com.lge.test;

import java.util.Scanner;

import com.lge.lang.NumIgnoreString;

public class Java_Test_01 {

    public static void main(String[] args) throws Exception {

        boolean loopFlag = true;

        while (loopFlag) {
            int input = displayMenu();
            switch (input) {
            case 1:
                reverseString();
                break;
            case 2:
                compareString();
                break;
            case 0:
                loopFlag = false;
                break;
            default:
                break;
            }
        }
    }

    /** Displaying menu */
    private static int displayMenu() {
        System.out.println("\n===============================================");
        System.out.println("     String Reversing And Comparing Utility");
        System.out.println("===============================================");
        System.out.println("1. Reverse String");
        System.out.println("2. Compare String");
        System.out.println("0. Exit");
        System.out.print(">> Select menu : ");

        Scanner scanner = new Scanner(System.in);       
       
        return scanner.nextInt();
    }

    /** Reverse string */
    private static void reverseString() throws Exception {
        System.out.println();
        System.out.print("> Input String : ");

        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();

        NumIgnoreString myString = new NumIgnoreString(input);
        System.out.println(":: Reversed String : " + myString.reverse());
        System.out.println();
    }

    /** Comparing two strings */
    private static void compareString() throws Exception {
        Scanner scanner = new Scanner(System.in);
        System.out.println();
        System.out.print("> Input String1 : ");
        String input1 = scanner.nextLine();
        System.out.print("> Input String2 : ");
        String input2 = scanner.nextLine();

        NumIgnoreString myString1 = new NumIgnoreString(input1);
        NumIgnoreString myString2 = new NumIgnoreString(input2);

        if (myString1.equals(myString2)) {
            System.out.println(":: Compared Result : Matched!");
        } else {
            System.out.println(":: Compared Result : Not Matched!");
        }

        System.out.println();
    }
}

728x90
반응형

'Java' 카테고리의 다른 글

Do it! Node.js 프로그래밍  (0) 2016.09.28
30_Loop 기초  (0) 2016.09.27
27_Scanner  (0) 2016.09.26
25_생성자 예제  (0) 2016.09.23
24_변수  (0) 2016.09.20