首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在if语句中传递布尔值和验证布尔值?

如何在if语句中传递布尔值和验证布尔值?
EN

Stack Overflow用户
提问于 2013-02-19 06:39:46
回答 2查看 126关注 0票数 0

好了,我已经到了游戏的最后部分了,然后我会邀请你们所有人一起玩。它并不完美,但它是我的Java发展历程中的一个重要里程碑。所以在我的代码中,我调用了我的private类,以验证用户equalsIgnoreCase给出的解决方案,私有变量的解决方案是否包含在puzzle类中。如果匹配则返回true,否则返回false。在测试器上,如果我返回的是真的值,它应该会输出I‘the right,如果返回的是false,那么我就错了。问题是我输入的是对的,但它却告诉我我错了。为什么?

拼图:

代码语言:javascript
复制
    public boolean solvePuzzle(String answer)
    {
        if(this.solution.equalsIgnoreCase(answer))
        {
            return true;
        }
        else
        {
            return false;

        }

    }

}

字谜爱好者:

代码语言:javascript
复制
    if(choice==2)
   {
        System.out.println("Please solve the puzzle");
        input.nextLine();
        String answer=input.next();
        answer=answer.toUpperCase();
        game.solvePuzzle(answer);

        if(game.solvePuzzle(answer)==true)
        {
        System.out.println("That is correct");
        }
        else
        {
        System.out.println("You are wrong");
        }
        }


        }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-19 07:02:43

好的。解决方案提示:仔细阅读Scanner类的javadoc,特别是解释默认分隔符是什么的部分,以及next()方法的文档。现在看看解决方案是什么,并问问自己,它是否与默认分隔符有关。

要进行确认,请选择另一个解决方案,并查看它是否会更改某些内容。还可以打印您比较的变量的值,以查看它们实际包含的内容,或者学习使用Eclipse调试器。这并不难,我相信Eclipse有一个关于它的帮助页面。

票数 1
EN

Stack Overflow用户

发布于 2013-02-19 07:08:59

您的问题实际上只是使用Scanner,它默认使用空格进行分隔。您需要调用useDelimiter()方法来正确设置它。您可以使用BufferedReader:

代码语言:javascript
复制
BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14946624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档