2013-12-09 3 views
0

아래 코드는 정수를 허용하고 <이 5 인 경우 또는 5로 나눌 수 있거나 3으로 나눌 수 있거나 3과 5로 나눌 수있는 경우를 확인하고 인쇄합니다.하지만 코드를 무한 루프 그래서 출력을 인쇄 한 후에 콘솔이 반복적으로 정수를 입력하도록 요청합니다. 여기 내 코드는 지금까지 있습니다 :무한 루프 용 Java 프로그램

import java.util.Scanner; 
public class Q3c { 
public static void main(String args[]) { 
    System.out.println("Enter an integer "); 
    Scanner input = new Scanner(System.in); 

    int n = input.nextInt(); 
    if ((n%5 == 0) && (n%3 == 0)) { 
     System.out.println("The number " + n + " is divisible by 3 and 5"); 
    } 
    else { 
     if(n%5 == 0) { 
       System.out.println(n + " is divisble by 5"); 
     } 
     if(n%3 == 0) { 
       System.out.println(n + " is divisble by 3"); 
     } 
    } 

    if (n < 5) { 
     System.out.println(n + "is <5"); 
    } 
    input.close(); 
} 
} 

데모 출력 :

Enter an integer 5 
5 is divisibe by 5 

Enter an integer 

답변

4
while(true) { 
    //do stuff 
} 

for(;;) { 
    //do stuff 
} 

do { 
    //stuff 
}while(true); 

이 세 가지 모두 무한 루프입니다. 일부 사용자 입력 (0를 가정)에 따라 무한 루프를 종료하려는 경우, 당신은 추가 할 수 있습니다 : 당신은 그들이 0를 입력 한 경우 루프를 종료 할 적

if(n == 0) { 
    break; 
} 

합니다. 이 코드 스 니펫은 세 가지 무한 루프 변형 모두에서 작동합니다.

0
while(true) { 
    //your code 
    //code to manage program exit. 
} 

또는

for(;;) { 
    //your code 
    //code to manage program exit. 
} 

또는

do { 
    //your code 
    //code to manage program exit. 
}while(true); 
구조는, 귀하의 경우, 바로 코드를 단순화 할 수 있다면 다른 사용하는 것이 좋습니다 것
0

... 같은 뭔가 :

Scanner input=new Scanner(System.in); 
while(true) { 
    System.out.println("Enter an integer "); 
    int n=input.nextInt(); 
    if((n%5==0)&&(n%3==0)){ 
     //stuff 
    } else if (n%5==0) { 
     //other stuff 
    } else if (n%3==0) { 
     //other 
    } 
}