Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用if语句结束用户输入的do-while循环_Java - Fatal编程技术网

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

Java 如何使用if语句结束用户输入的do-while循环,java,Java,我一直在使用python,我决定开始学习java,因为android studio需要它。我又在学习如何做循环了。我不能让它工作。我已经查过了,找不到。我如何通过按“f”来结束此操作?我的思考过程是,一旦它通过do循环的第一行完成,它将通过if语句来更改结束循环的值。您的问题是您正在将字符串与=进行比较。您必须使用equals来编写正确的if语句 import java.util.Scanner; public class main { public static void main(

我一直在使用python,我决定开始学习java,因为android studio需要它。我又在学习如何做循环了。我不能让它工作。我已经查过了,找不到。我如何通过按“f”来结束此操作?我的思考过程是,一旦它通过do循环的第一行完成,它将通过if语句来更改结束循环的值。

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

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

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

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

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

要做的第一件事是学习如何比较字符串(或任何其他)对象{…并用
break
-语句停止。不要使用多个
Scanner
实例。在循环之前创建一个实例,并在内部重复使用。如果要复制标记为“replicate of”的答案,至少应该说明为什么他们应该使用等于而不是==。myString.equals(otherString)顺便说一句,myString==otherString是“正确的语句”。我在发布后刚刚回答了这个问题,所以在发布时没有将其标记为重复。
if (end.equals("f")) { // end == "f" , it check the reference.
     a = false;
}