2013-12-09 71 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)的无限循环,你可以添加:

if(n == 0) { 
    break; 
} 
在任何你想你的循环结束,如果他们已经进入 0

。此代码片段适用于所有三种无限循环变体。

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

我建议使用其他if结构,你的情况,只是为了简化代码... 喜欢的东西:

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 
    } 
}