2014-06-11 2 views
0

실제로 처리를 사용하여 키보드에서 입력 된 값을 확인하고 작업을 수행합니다. 이제 문제는 키보드에서 숫자 "1"을 사용하여 IF 문에 따라 두 가지 다른 동작을 취하고 싶지만 두 번째 조건은 작동하지 않는 것입니다. 내가 else if 전에 누락 된 }가 잘못키 누르기 함수에서 다른 if 문에 동일한 키 사용 - 처리

void keyPressed() { 

    if(page=="buttons") 
{ 
     if(key == '1') { 
     text("This is the button page1", 30, 200); 

         } 

     if(key == '2') { 
     text("This is the button page2", 30, 200); 

     } 


else if(page=="options") 
{ 

     if (key == '1') { 
     text("This is the options page", 100, 200); 

    } 
} 
+0

시도 추가'에 println (페이지)'고정하고' "옵션"'나는 그러나 그것은 작동하지 않았다 – Fabricator

+0

적이 있는지 볼 수 있습니다. 그래서이 시나리오에서 else if가 허용되지 않는지 궁금합니다. 이 방법을 처음 사용할 때입니다. 나는 처리하기가 아주 쉽다. – user3718913

+0

에서 문제가 발견되었습니다. 업데이트 된 답변보기 – Fabricator

답변

1

가는 될 수있다 Pls는, 내가 모르는 나를이 코드를 정독 도움이됩니다. 또한 문자열 비교는 == 대신 .equals으로 수행해야합니다. 여기에 keyPressed``의 시작 부분에 하나 개

void keyPressed() { 

    if(page.equals("buttons")) { 
     if(key == '1') { 
      text("This is the button page1", 30, 200); 

     } else if(key == '2') { 
      text("This is the button page2", 30, 200); 

     } 
    } else if(page.equals("options")) { 

     if (key == '1') { 
      text("This is the options page", 100, 200); 

     } 
    } 
} 
+0

죄송합니다. 이것은 실제로 내 것과 동일한 더미 코드입니다. 나는 else if 문을 편집했습니다. – user3718913

+0

누락 된 '}'이 아직 남아 있으며 문제가 해결되지 않습니다. 또한 [Strings] (http://processing.org/reference/String.html)을 비교하기 위해'=='를 사용하지 말고 항상 equals()를 선호합니다; –

+0

@ v.k. 좋은 캐치. 우리가 자바에 있다는 것을 잊었다. – Fabricator