이 질문 피보나치 패턴으로 떨어지거나 있는지 확인하는 방법 : 입력으로 주어진 문자열이 단어의 길이가하는 피보나치 패턴 여부에 빠지게 여부를 즉, 확인하기 위해 단어의를 길이는 두 단어 길이의 합입니다.단어의 문자열을하지
단어는 문자로만 구성됩니다. 예 : ra! hul은!로 구분 된 2 단어입니다.
입력은 여러 단어를 가질 수 있습니다. 모든 입력에는 적어도 3 단어가 있어야합니다. 예 I AM, RON!!
들어 이있는 패턴 (I
, AM
, RON
)를 다음된다 Is IT HERs!E
(Is
, IT
, HERs
, E
)이없는, 네번째 요소 경우 같아야 길이 6
출력이 정상적으로 않지만 모든 입력 된 단어가 피보나치 패턴으로 떨어지면 모든 단어를 확인한 후 마지막으로 YES
을 출력해야합니다. 입력의 어느 부분에서도 피보나치 패턴에 해당하지 않으면 나중에 실행을 끝내지 않고도 NO
을 출력해야합니다.
내 문제 : 내 문제는 : 코드를 작성했는데, 그것은 지속적으로 NO로 출력됩니다. 더 나은 방법은 너무 환영합니다. 내 코드는 다음과 같습니다.
public class Holla {
static int j=-1,a,b,c;
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String h=s.nextLine();
int i=0,x=0;
while(i<h.length())
{
if(Character.isLetter(h.charAt(i)))
x++;
else
{
while(x>0)
out: {
j++;
switch (j)
{
case 0:
a=x;
break;
case 1:
b=x;
break;
default:
c=x;
}
if((j==0)||(j==1))
break out;
if (c==(a+b))
{
a=b;
b=c;
j=1;
}
else
{
System.out.println("NO");
System.exit(0);
}
}
x=0;
}
i++;
}
System.out.println("YES");
}
}
이 코드에서 수행 된 디버깅에 대한 증거가 없기 때문에 나는이 질문을 downvoted했습니다. 귀하의 질문을 편집하여 귀하의 디버깅이 밝혀낸 바를 알려주십시오. 또한 특정 코드 행에 관한 특정 질문을 보여주십시오. 참조 : [최소, 완전하고 검증 가능한 예제를 만드는 방법] (http://stackoverflow.com/help/mcve) 및 [소규모 프로그램을 디버깅하는 방법] (https://ericlippert.com/2014/03/05)/how-to-debug-small-programs /). –
_ "질문 내용이 너무 어색하게 느껴졌 기 때문에 가능한 경우 편집하고 최대한 간결하게 만들 수 있기를 바랍니다."_ 정말로 질문을 작성하고 자신의 질문을 개선하도록 요청 했습니까? – NickL
문제를 더 명확하게 설명하는 것은 디버깅과 동일하지 않습니다. 5 줄을 넘지 않는 코드를 지적하고 그 다섯 줄이 왜 기대 한대로 작동하지 않는지 설명 할 수 있어야합니다. 네가 그렇게 할 때까지 나는 내 downvote를 제거하지 않을 것이다. –