到达某个角色时,打破循环

时间:2015-03-25 17:40:41

标签: java file while-loop

我有一个程序可以读取文件。该文件将使用nextLine()扫描仪方法分割成行。

我的文件如下:

*#* lalala lalala lalaa lalala lalal la
x,v,m,k  
221312, stringgg, pwd  
...  
*#* baba bababaa babababa 

我想在阅读*#*时进入while循环,然后在到达下一个*#*时,while应该会中断。

如何做到这一点?

2 个答案:

答案 0 :(得分:3)

您确定应该 break 吗?这将导致完全停止。我认为continue是更好的选择,因为它会在迭代时跳到下一个,即它将跳过当前行。

while(...) {
    String line = scanner.nextLine();
    if(line.startsWith("#")) {
        continue; // or break, if you're sure it's what you want
    }
    // your code
}

答案 1 :(得分:1)

我希望这会对你有所帮助

/* If I see the string first time I increase the variable n by one. 
*  If I see the string second time again I increase n by one, now 
*  n will be 2, If n is 2 I break the for loop ABC
*/
public static void main(String []args){
    int n = 0;
    String str;
    Scanner scanner = new Scanner(System.in);
    System.out.print("Enter a sentence: ");
    String line = scanner.nextLine();
    // System.out.println(line);
    int count = line.length();
    // System.out.print(count);
    ABC:
    for(int i=0; i<line.length()-2;i++){
        str =line.substring(i, i+3);
        if(str.equals("*#*")){
            n++;
            System.out.println(n);
            while(n==2){
                break ABC;
            }
        }
        System.out.println(str);
    }
}