java - 如何在java中将这个程序放入循环中?

标签 java

import java.util.*;

class token {
public static void main(String args[]){
    Scanner input = new Scanner(System.in);
    Random number = new Random();

    System.out.println("Do you want to play again(y/n)? ");
    String in = input.nextLine();   

    do{
    int num1,num2,sum;
    num1 = 1+number.nextInt(6);
    num2 = 1+number.nextInt(6);

    sum = num1 + num2;


    System.out.print("Dice 1: "+num1);
    System.out.print("\nDice 2: "+num2);
    System.out.print("\nSum: "+sum);

    if(sum%2==1){
        System.out.println("\nYou have lost 1 token.");
    }else if(sum>10){
        System.out.println("\nYou have won 2 tokens.");
    }else if(sum>11){
        System.out.println("\nYou have won 2 tokens.");
    }else if(sum>12){
        System.out.println("\nYou have won 2 tokens.");
    }else{
        System.out.println("\nYou have won 1 token.");
    }

    System.out.println("Do you want to play again(y/n)? ");
    String in1 = input.nextLine();  
    }while(in == "y");

}
}

所以我尝试使用 do while 循环,但不幸的是,它根本不循环。 示例输出: 你想再玩一次吗(y/n)? 骰子 1: 3 骰子 2: 4 总数:7 您丢失了 1 个代币。 你想再玩一次吗(y/n)? y

我希望我的程序不断循环,除非用户输入 n。

最佳答案

in == "y" 替换为 in.equals("y")

String in1 = input.nextLine();in = input.nextLine();

因为您没有更新 in 的值,因此如果第一次输入为“y”,它将永远循环,否则只会运行一次。

关于java - 如何在java中将这个程序放入循环中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19689255/

相关文章:

java - 打包资源在 Jar 中不可用

java - 事务未成功启动(而 tx.commit() 被 if 条件包围)

java - 在代理后面使用 Maven 和 SSL 的问题

java - 需要用 * 编码 String 中的重复模式,这样 * 意味着 "repeat from beginning"

java - 如何使用 Intent 设置警报 选择警报的完整日期(包括日、月)

java - 如何将 Java DB(名为 Derby)与 hibernate 一起使用?

java - 如何在两个类之间传递局部变量?

java - 从 Java 通过 SSH 执行 Bash 命令时出现问题

java - 从 HAPI FHIR 中创建操作的 MethodOutcome/结果中提取 HTTP 状态代码

java - 任务 ':app:transformClassesWithJarMergingForDebug' 执行失败