如何使用if语句结束用户输入的while循环

时间:2019-04-01 06:08:57

标签: java

import java.util.Scanner;
public class main {

    public static void main(String[] args) {
    boolean a = true; 
        do {
                Scanner input = new Scanner(System.in);
                System.out.println("Press any on keyboard:");
                String keys = input.nextLine();
                System.out.println("You pressed:");
                System.out.println(keys);
                System.out.println("Your hash is:");
                String B = "#B";
                String hash = B+keys;
                System.out.println(hash);
                System.out.println("To end loop press f");
                //End Loop
                Scanner exit = new Scanner(System.in);
                String end = exit.nextLine();
                if (end=="f") {
                    a=false;
                    }
            }



            while(a);
    }           
}

我一直在使用python,由于android studio需要它,我决定开始学习java。我正在学习如何再次执行循环。我无法使它正常工作。我已经查了一下,找不到了。如何按“ f”结束该操作?我的思维过程是,一旦它通过do循环的第一行完成,它将通过if语句更改结束循环的值。

4 个答案:

答案 0 :(得分:2)

break正文下使用if(){}语句。同样,您的==比较将为false,请使用str1.equals(str2)进行比较。

答案 1 :(得分:0)

您的问题是您正在将字符串与==进行比较。您必须使用equals来编写正确的if语句。

if (end.equals("f")){...}

答案 2 :(得分:0)

您可以使用以下代码进行检查

if (end.equals("f")) { // end == "f" , it check the reference.
     a = false;
}

答案 3 :(得分:-1)

直接的问题是比较。但老实说,这里的真正问题是您的逻辑。如果您调试它,则将永远不会进入,或者永远不会退出它。 “执行”部分只发生一次,此后您仍然需要在while循环中执行操作。