import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class main3 {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String Input = bf.readLine();
int k = Input.length() - 1;
int i = 0;
Boolean isPalindrome = true;
while (i < k) {
if (!Input.substring(i, i + 1).equals(Input.substring(k, k + 1))) {
isPalindrome = false;
}
i++;
k--;
}
if (isPalindrome) {
System.out.println("1");
} else {
System.out.println("0");
}
}
}
사용자에게 받은 문자를 Input 변수에 저장한 뒤 substring 메소드를 활용하여 문자열의 앞과 뒤를 비교하도록 하였다.
isPalindrome 이란 변수를 boolean 으로 초기화 하여 true, false 를 통해 결과값을 출력하도록 한다.
toCharArray() 메소드를 활용하자. 항상 subString 으로 하나씩 잘라서 저장했는데 이러한 메소드가 있어 놀라웠다.import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main( String[] args) throws Exception {
BufferedReader br = new BufferedReader( new InputStreamReader( System.in));
char[] str = br.readLine().toCharArray(); // 배열 선언과 동시에 입력 받으면서 저장
for( int i = 0; i < str.length/2; i++) {
if( !(str[i] == str[str.length-1-i])) {
System.out.println(0);
return;
}
}
System.out.println(1);
}
}
boolean 을 활용하여 마지막에 결과를 if 문 형식으로 출력할 것.== 으로 비교했지만 실패했다.while(j<Input.length()) {
if (inputArray[j] == inputArray[k]) {
k--;
j++;
System.out.println("j : " + inputArray[j] + " i : " + inputArray[k]);
} else {
System.out.println("j : " + inputArray[j] + " i : " + inputArray[k]);
System.out.println("0");
break;
}
}
== 연산자는 객체 참조를 비교하는 연산자이기에 문자열 비교엔 사용하면 안된다.equals() 메소드를 사용한다.