do while循环中的wantToContinue的字符串yes的布尔输入

时间:2013-11-17 19:48:28

标签: java string boolean do-while

我正在尝试使用do while循环,如果用户回答是“你想继续”,它会终止吗?如果我在控制台中回答是,循环功能正常,但是,我想告诉用户输入是或否。因此,我搜索了有关如何将字符串值分配给boolean值为true的信息,但我的代码无效。有人能告诉我正确的语法吗?

boolean wantsToContinue=String.equalsIgnoreCase("yes");

do{
    rollOne=diceOne.roll();
    rollTwo=diceTwo.roll();
    rollTotal=rollOne+rollTwo;
    //BoardSquare thePlayer.setLocation(square[]);

    Scanner keyboard=new Scanner(System.in);
    System.out.println("Do you want to continue:");
    wantsToContinue = keyboard.nextBoolean();

} while (thePlayer.getBalance()>0 && wantsToContinue);

当我这样设置时,我得到的静态方法无法从静态上下文中引用。我需要避免为此逻辑使用单独的方法或对象。

2 个答案:

答案 0 :(得分:0)

试试这个

    String wantsToContinue="";

    do{

        rollOne=diceOne.roll();
        rollTwo=diceTwo.roll();
        rollTotal=rollOne+rollTwo;
        //BoardSquare thePlayer.setLocation(square[]);


        Scanner keyboard=new Scanner(System.in);
        System.out.println("Do you want to continue:? yes | no");
        wantsToContinue = keyboard.next();

    } while (thePlayer.getBalance()>0 && wantsToContinue.equalsIgnoreCase("yes"));

在每次迭代提示中是或否。如果你给,循环将继续(也基于你的getBalance返回> 0)。或者终止。 equalsIgnoreCase(“是”)检查选项或其组合。如果相等则返回true。

答案 1 :(得分:0)

equalsIgnoreCase 未在String类中声明为静态方法,但您将其用作 String.equalsIgnoreCase 。因此,错误“非静态方法无法从静态上下文引用”