프로그래밍/java

자바 프로그래밍 강좌, 회문 문자 판별하는 프로그램 만들기

싯타마 2020. 4. 18. 18:50

안녕하세요, 오늘은 회문 문자를 판별하는 프로그램을 만들어 보겠습니다.

회문 문자란 앞뒤로 나열해도 같은 문자를 말합니다. 

즉, 일요일, 토마토 등이 회문 문자라 할 수 있습니다.

 

먼저, 소스코드입니다.

import java.util.Scanner; 

public class P_5_3_2015103326 {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String ss;
		String tt = "";
		int count, i;
		boolean run = true;
		boolean c;
		
		while(run == true) {
		
	    System.out.println("Input(-1 for quit):");
		ss = s.nextLine();
		 if(ss.equals("-1")){System.out.println("종료되었습니다.");
		 break;
	 	}
		count = ss.length();
		for(i = 0; i<count; i++) {
			
			tt += ss.charAt(count-(i+1));
			
		}
		c = ss.equals(tt);
		System.out.printf("%s\n",c);
		
		tt = "";
	  }
	}
}

1. 변수 설명

Scanner s = new Scanner(System.in);   // s는 키보로 입력받을 것을 선언
String ss;  // 문자열 변수 ss선언
String tt = "";   // 문자열 변수 tt선언
int count, i;  // 입력받은 문자열의 글자 개수를 파악하기 위해 int형 count 변수 선언
boolean run = true;   // while문을 작동하기 위해 boolean형 선언

boolean c;  // 회문이 맞는지 아닌지 판별하여 true와 false를 출력하기 위해 선언

 

2. 코드 설명

while(run == true) {

    System.out.println("Input(-1 for quit):");    //질문 출력
ss = s.nextLine();    // ss를 키보로 입력받은 후 선언 
 if(ss.equals("-1")){System.out.println("종료되었습니다."); 

 break;                                                                           
  }  //만약 ss가 -1이라면 "종료되었습니다."를 출력하고 while문 종료
count = ss.length(); // count는 ss의 글자 개수
for(i = 0; i<count; i++) {

tt += ss.charAt(count-(i+1));

} //입력받은 문자열 ss를 거꾸로 나열하여 tt로 선언하는 for 문 ex) 월요일 -> 일요월
c = ss.equals(tt); //ss와 tt가 같은 문자열인지 true와 false로 비교하여 결과 값을 c로 선언
System.out.printf("%s\n",c);  // c값 출력

tt = "";  // tt값을 다시 비워둔다


  }
}

}

 

3. 결과 화면