2014-01-17 64 views
1

這可能是一個奇怪的問題,但是如果if語句出現爲true或false,是否有辦法在無限循環中停止掃描器?如何停止沒有結束循環的java掃描器

例如,如果您有:

for (;;) { 
    Scanner in = new Scanner(System.in); 
    int a = in.nextInt(); 
    if (a <= 0) { 
    // is there something I could put in here to end the loop? 
    } 
    else { System.out.println("Continue"); } 

很抱歉,如果這是一個愚蠢的問題,我是新來的這一切。

回答

0

可以break;的循環,如果在if條件是true,而轉移的

for (;;) { 
    Scanner in = new Scanner(System.in); 
    int a = in.nextInt(); 
    if (a <= 0) { 
    break; 
    } 
    else { System.out.println("Continue"); } 
0

使用break;,但你shouldn't濫用它,它會更好,設置爲條件適當

2

而不是使用break;你也可以在每次迭代由用戶輸入的值使用while循環和測試的:

Scanner in = new Scanner(System.in); 
int a; 
while((a = in.nextInt()) > 0){ 
    System.out.println("Continue"); 
} 
System.out.println("finish"); 
+1

我覺得這是最好的solution.It是與使用'break'一個「乾淨」的步驟 –

0

使用break;解決您的problem.Like這

import java.util.*; 

public class Test { 
public static void main (String[]args) { 
    Scanner in = new Scanner(System.in); 
// Scanner input = new Scanner(System.in); 
    for (int i=0; i< 3;i++) { 
System.out.println("Enter a number"); 
int a = in.nextInt(); 
if (a <= 0) { 
break;// is there something I could put in here to end the loop? 
} 
else { System.out.println("Continue"); } 
} 
}}