소문자, 대문자

Seung jun Cha·2022년 10월 12일
0

1. 첫 글자는 소문자로, 나머지는 대문자로

  • 공백을 기준으로 잘라서 String 배열을 생성하고, substring으로 문자를 잘라서 변환
public class Practice01 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("문자를 입력해주세요 : ");
        String line = sc.nextLine();

        String[] split = line.trim().split("\\s+");

        String result = "";
        for (int i = 0; i < split.length; i++) {
            String first = split[i].substring(0, 1).toLowerCase();
            String remain = split[i].substring(1).toUpperCase();
            if (i != 0) {
                result += " " + first + remain;
            } else {
                result = first + remain;
            }
        }
        System.out.println(result);
  • 문자열 길이만큼 배열을 생성하고 join("구분자", "배열이름") 함수를 사용 (스트링 인덱스를 이어 붙일 떄, 구분자를 넣어줌)
public class Practice01 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("문자를 입력해주세요 : ");
        String line = sc.nextLine();

        String[] split = line.trim().split("\\s+");

        String result = "";
        String[] results = new String[split.length];
        
        for (int i = 0; i < split.length; i++) {
            String first = split[i].substring(0, 1).toLowerCase();
            String remain = split[i].substring(1).toUpperCase();
            
            results[i] = first + remain;
        }
        result = String.join(" ", results);
        System.out.println(result);
    }
}

2. 대문자는 소문자로, 소문자는 대문자로 변환

  • 아스키코드를 활용
public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("문자를 입력해주세요 : ");
        String string = sc.next();

        char[] chars = string.toCharArray();
        String result ="";

        for (int i = 0; i < chars.length; i++) {
            if (chars[i] >= 'a' && chars[i] <= 'z'){
                result += Character.toUpperCase(chars[i]);
            }else if (chars[i] >= 'A' && chars[i] <= 'Z'){
                result += Character.toLowerCase(chars[i]);
            }
        }
        System.out.println(result);
  • Character를 활용
  public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("문자를 입력해주세요 : ");
        String string = sc.next();

        char[] chars = string.toCharArray();
        String result ="";

        for (int i = 0; i < chars.length; i++) {
            boolean lowerCase = Character.isLowerCase(chars[i]);
            if (lowerCase == true){
                result += Character.toUpperCase(chars[i]);
            }else {
                result += Character.toLowerCase(chars[i]);
            }
        }
        System.out.println(result);

0개의 댓글