입력한 문자열이 회문인지 아닌지를 귀속으로 판단하다
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 키가 읽히지 않은 모든 문자를 되돌려줍니다. 공백이 있는 문자열을 얻을 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.