입력한 문자열이 회문인지 아닌지를 귀속으로 판단하다

4027 단어
디자인 사고방식: Scanner 클래스 입력 문자열을 가져오고 입력한 문자열을 문자열 그룹으로 전환한 다음 문자열의 좌우 양측에서 문자chu가 같은지, 같은 문자열이 읽는 문자열을 되돌려주고, 문자열의 개수 == 문자열의 길이를 입력하면 이 문자열을 되돌려주고, 그렇지 않으면 이 문자열을 되돌려주지 않는다
 
import java.util.Scanner;

public class test1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input = new Scanner(System.in);
        String a = input.nextLine();
        char[] temp = a.toCharArray();         
        int c = fun(0, temp.length-1, temp);
        if (c == temp.length)
            System.out.println(" ");
        else
            System.out.println(" ");
        input.close();
    }

    public static int fun(int i, int j, char[] a) {   // 
        
        if (j == i)     // 
            return 1;
        else if(i - j==1)  // 
            return 0;
        else {
            if (a[i] == a[j])        // 
            {
                i++;
                j--;
                return (2 + fun(i, j, a));  // 
            }
            else
                return -100;  //
        }
    }
}

 
깨달음: 처음에는 귀속에 대한 이해가 투철하지 않아서가 아니라 주로 귀속의 종료 조건에 대해 잘 모르기 때문에 브레이크를 넣어야 호출을 끝낼 수 있다고 생각했는데 나중에 귀속이 끝나는 것이 함수의 마지막 호출이라는 것을 알게 되었다.
next와 nextLine의 차이점:
next () 방법은 내용을 읽을 때 유효한 문자 앞에 있는 유효하지 않은 문자를 필터합니다. 유효한 문자를 입력하기 전에 만났던 스페이스 바, 탭 키, Enter 키 등 종료자를 필터합니다. next () 방법은 자동으로 필터합니다.유효한 문자를 읽은 후에만 넥스트 () 방법은 그 후의 스페이스 바, 탭 키, Enter 키 등을 종료자로 간주합니다.따라서 넥스트 () 방법은 빈칸이 있는 문자열을 얻을 수 없습니다.
nextLine () 방법은 전체 줄을 스캔한다는 뜻으로 Enter 키만 사용할 수 있습니다. 즉, nextLine () 방법은 Enter 키가 읽히지 않은 모든 문자를 되돌려줍니다. 공백이 있는 문자열을 얻을 수 있습니다.

좋은 웹페이지 즐겨찾기