안녕하세요, 오늘은 회문 문자를 판별하는 프로그램을 만들어 보겠습니다.
회문 문자란 앞뒤로 나열해도 같은 문자를 말합니다.
즉, 일요일, 토마토 등이 회문 문자라 할 수 있습니다.
먼저, 소스코드입니다.
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. 결과 화면
'프로그래밍 > java' 카테고리의 다른 글
자바프로그래밍, 텍스트 파일에 있는 한글 출력하기(utf-8 인코딩) (0) | 2020.05.22 |
---|---|
자바프로그래밍, 클래스와 메서드 이해하기 (0) | 2020.05.04 |
자바 프로그래밍 java.util.Scanner를 사용하여 초 입력값을 시간,분,초로 나타내기 (0) | 2020.04.07 |
자바프로그래밍 화면에 내용을 출력하는 방법(println,print,printf) (0) | 2020.04.03 |
JAVA프로그래밍기초- 숫자출력,사칙연산 (0) | 2020.01.23 |