Java 我是否错误地使用do while循环?

Java 我是否错误地使用do while循环?,java,Java,我正在尝试建立一个简单的程序,它会一直这样做,直到满足某个条件。在这种情况下,无论是真是假。我已经玩了一段时间了,但我还是不能让它像我想的那样工作 import java.util.Scanner; public class oddeven { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("Enter

我正在尝试建立一个简单的程序,它会一直这样做,直到满足某个条件。在这种情况下,无论是真是假。我已经玩了一段时间了,但我还是不能让它像我想的那样工作

import java.util.Scanner;

public class oddeven {
    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        System.out.println("Enter a number: ");

        int num = scan.nextInt();
        boolean play = true;
        String restart = " ";

        do {
            if((num % 2) == 0) {
                System.out.println("That number is even!");
            } else {
                System.out.println("That number is odd!");
            }

            System.out.println(
               "Would you like to pick another number? (Type 'yes' or 'no')");

            restart = scan.nextLine();

            if(restart == "yes") {
                System.out.println("Enter a number: ");
                play = true;
            } else {
                System.out.println("Thanks for playing!");
                play = false;
            }
        }
        while(play == true);
    }
}

下面是您正在尝试执行的操作的代码。你已经做了3到4件错事,看看代码,你就会明白

你也应该看到这个链接


不要将字符串与==进行比较,而是使用string1.equals(string2)
import java.util.Scanner;

class test {
    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        boolean play = true;
        do {
        System.out.println("Enter a number: ");
        int num = Integer.valueOf(scan.next());
        String restart = " ";
            if ((num % 2) == 0) {
                System.out.println("That number is even!");
            }
            else {
                System.out.println("That number is odd!");
            }
            System.out.println("Would you like to pick another number? (Type 'yes' or 'no')");
            restart = scan.next();
            if (restart.equalsIgnoreCase("yes")) {
                play = true;
            }
            else {
                System.out.println("Thanks for playing!");
                play = false;
            }
        } while (play == true);
    }
}