반복문,조건문을 이용한 대소문자 변환


ASCII CODE를 이용한 대소문자 변환입니다.


 public class AsciiReverse {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int i=0;
        
        while(true){
        System.out.print("문자열을 입력하세요 : ");
        String input= s.nextLine();
// 한글자씩 담을 char[]형 배열선언
        char change[] = new char[input.length()]; 
        
        if(input.equals("stop")) // stop을 입력할 때까지 반복
        {
            System.out.println("이용해주셔서 감사합니다.");
            break;
        }
        
        else{
        for(i=0; i<input.length(); i++)
        {
                change[i]=input.charAt(i);
                if(change[i]>=65 && change[i]<=90) // 대문자이면
                    change[i]+=32; // 소문자로 변환
                else if(change[i]>=97 && change[i]<=122) // 소문자이면
                    change[i]-=32; // 대문자로 변환
                    System.out.print(change[i]);
        }
            System.out.println();
        
        }// close else{}
        
        }//close while()
        
    }
}

(실행 결과)

문자열을 입력하세요 : Have A Nice Day!!

hAVE a nICE dAY!!
문자열을 입력하세요 : stop
이용해주셔서 감사합니다.



배열을 이용한 문자열 거꾸로 출력하기


문자열을 거꾸로 반환하는 클래스와 메소드가 있지만, 직접 코드로 구현 해 봤습니다.



import java.util.Scanner;

public class Reverse {
          void reverse(){ // 문자열을 입력받아서 거꾸로 출력하는 메소드
              Scanner s=new Scanner(System.in);
              System.out.println("문자를 입력하세요.");
              String input=s.nextLine();
              
              int len = input.length(); // 입력한 문자열의 길이를 저장하는 len 변수
              char[] change=new char[len]; // 한글자씩 담을 char형 배열 선언 - 문자열의 길이만큼
                        
              for(int i=0; i<len; i++){
              change[i]=input.charAt(i); // 문자열을 한글자씩 담는다.
              }
                        
              for(int i=len-1; i>=0; i--) // 배열의 길이-1만큼해야 가장 끝 방부터 시작한다.
              {
              System.out.print(change[i]); // 맨 끝 방부터 0번방까지 출력
              }
                   
          }
     
     public static void main(String[] args) {
          Reverse rev = new Reverse();
          rev.reverse(); // 메소드 호출
          
     }
}

(실행 결과)

문자를 입력하세요.
Hava A Nice Day!!
!!yaD eciN A avaH


정리

- input.charAt(i) : input문자열의 i번째 문자를 반환

- input.length() : input문자열의 길이를 반환

  추가적으로 .length는 배열의 길이 반환




+ Recent posts