2014-04-04 2 views
-3

내 학교 과제물로 자바를 사용하는 간단한 프로그램을 작성하고 있습니다. 내가 infinte 루프를 만드는 방법을 찾을 수 없습니다. 그 프로그램을 재 설계해야만하는 설문 조사 프로그램은 5 명을 제외하고 끝낼 때까지 내가 원하는만큼 많은 사람들을 포함합니다.자바에서 무한 루프를 만드는 방법

class morecoffee 
{ 
    public static void main (String [] args) 
    { 
     Scanner input = new Scanner(System.in); 

     int person, preference, nothing, sugar, sweetener, count, quit; 

     nothing = sugar = sweetener = 0; 
     for (count = 1; count <=5; count++) 
     { 

      System.out.println ("How do you sweeten your coffee?"); 
      System.out.println ("1. I don't"); 
      System.out.println ("2. With sugar?"); 
      System.out.println ("3. With sweetener?"); 
      System.out.println ("4. Quit"); 

      preference = input.nextInt(); 

      if (preference == 1) 
        nothing++; 

       else if (preference == 2) 
         sugar++; 
       else if (preference == 3) 
        sweetener++; 

     if (preference == 4) 
      count = 5; 
     } 
     count = count +1; 
     System.out.println ("Survey Report"); 
     System.out.println ("============="); 

     System.out.println (nothing + " person don't sweeten coffee"); 
     System.out.println (sugar + " person use sugar in coffee"); 
     System.out.println (sweetener + " person use sweetener in coffee"); 
    } 
+3

'동안 (사실) {}'[무한 루프 자바]의 – donfuxx

+3

가능한 중복 (http://stackoverflow.com/questions/13806880/infinite-loop-java) – Philibobby

+0

수 : 당신은 그것을 사용할 수 있습니다 [자바에서 (;;) 뜻은 무엇입니까?] (http://stackoverflow.com/questions/7081339/what-does-for-mean-in-java) – donfuxx

답변

1
for (;;) 
    { 

     System.out.println ("How do you sweeten your coffee?"); 
     System.out.println ("1. I don't"); 
     System.out.println ("2. With sugar?"); 
     System.out.println ("3. With sweetener?"); 
     System.out.println ("4. Quit"); 

     preference = input.nextInt(); 

     if (preference == 1) 
       nothing++; 

      else if (preference == 2) 
        sugar++; 
      else if (preference == 3) 
       sweetener++; 

    if (preference == 4) 
     break; 
    } 
+1

'if (preference == 4)' 루프가 끊어 질 것입니다. –

+0

완벽하게 작동합니다. – user3499202

+0

체크 표시를 추가하십시오. =) –

1

변경

for (count = 1; count <=5; count++) 

while (preference != 4) 
{ 
    // code 
++count; 
} 

하고

if (preference == 4) 
    count = 5; 
+0

나는이 방법으로해야합니다. 나는 그것을 바꿨지 만 그것은 작동하지 않습니다. – user3499202

+0

루프를 종료하지 않습니까? 무엇이 작동하지 않습니까? –

1
int count = 0; 
    while(true) 
    { 
     System.out.println ("How do you sweeten your coffee?"); 
     System.out.println ("1. I don't"); 
     System.out.println ("2. With sugar?"); 
     System.out.println ("3. With sweetener?"); 
     System.out.println ("4. Quit"); 

     preference = input.nextInt(); 

     if (preference == 1) { 
       nothing++; 
     } else if (preference == 2) { 
       sugar++; 
     } else if (preference == 3) { 
       sweetener++; 
     } else if (preference == 4) { 
      break; 
     } 
     count++; 
    } 

    System.out.println ("Survey Report"); 
    System.out.println ("============="); 
    System.out.println (nothing + " person don't sweeten coffee"); 
    System.out.println (sugar + " person use sugar in coffee"); 
    System.out.println (sweetener + " person use sweetener in coffee"); 
를 제거 : 여기에 코드입니다

당신은 무한의 루프를 변경하고 대답은 4

1

그것이

While(true){ 

} 

를 사용 indefinetely 실행하려면 경우을 휴식을 추가하고 싶을 때이 키워드를 사용하여 마무리한다 '중단'. 이렇게하면 루프가 끊어집니다.

if(preference==4){ 
    break; 
} 
관련 문제