2014-07-08 3 views
-1
int i = 1; 
     while(i == 1) { 
      if (answerHold.equals(generate)) { 
       qgCharacter(); 
       i++; 
      } else if (answerHold.equals(create)) { 
       qcCharacter(); 
       i++; 
      } 
     } 

위의 코드는 원하는 값을 입력 할 때까지 계속 실행됩니다.While 루프의 변수 범위

루프 외부에 있어야하는 변수 대신 while 루프 내부에서 변수의 액세스 가능성을 어떻게 유지합니까?

이 상황에서 다른 루프를 사용하면 더 많은 의미가 있습니까?

+3

무슨 변수가 있습니까? – BitNinja

+2

나는 변수에 대해 말하고있다. – Rhendz

답변

2

"i"의 값을 변경하는 대신 "break"키워드를 사용하십시오.

while(true) { 
     if (answerHold.equals(generate)) { 
      qgCharacter(); 
      break; 
     } else if (answerHold.equals(create)) { 
      qcCharacter(); 
      break; 
     } 
    } 
+0

나는 그가'i'의 정보를 필요로한다고 생각한다 ... – Robert

+0

사실, 'i'는 루프가 종료되면 2가 될 수있다. – wvdz

+0

이것은 단지 프로그램을 종료합니다. 욕망이 충족 될 때까지 계속 묻고 싶은 무언가가 필요합니다. – Rhendz

1

다음 구문은 제 의견으로는 더 이해할 수 있습니다. 변수가 없으면!

while (true) { 
     if (answerHold.equals(generate)) { 
       qgCharacter(); 
       break; 
     } else if (answerHold.equals(create)) { 
       qcCharacter(); 
       break; 
     } 
} 
+0

누군가가 원하는 바가 아닌 다른 값을 입력하면 프로그램이 종료된다. 욕망이 충족 될 때까지 계속 묻는다. – Rhendz

+0

이 코드는 게시 한 코드와 정확히 동일합니다. – wvdz

+0

고마워요,이 코드는 작동하지만 당신이 받아 들일 수는 있지만, 다른 사람은 더 빨리 입력 할 수 있습니다. – Rhendz