给定字符串只会在布尔值为false时打印,而不是在为true时打印

时间:2014-09-09 10:14:20

标签: java

    public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.println("How many of your two bosses are smiling?");
    int smiles = in.nextInt();
    final boolean trouble;

    if(smiles == 0 || smiles == 2){
        trouble = true;
    }else if(smiles == 1){
        trouble = false;
    if(trouble == false){
            System.out.println("The coast is clear!");
        }
        else if(trouble == true){
            System.out.println("You're in trouble!");
    }in.close();
}

这一切都是愚蠢的。 我需要基本上制作一个布尔使用程序,告诉用户,通过微笑的老板的数量,他们是否有麻烦。

两者/都不笑=麻烦 一个人微笑,另一个人不笑=没有麻烦

但如果没有问题,它只会打印给定的字符串。 我知道我是一个非常愚蠢的白痴,我要做的全部任务,就是个人而言,有点愚蠢。但无论如何,白痴不能做简单的代码。也许有人可以告诉我我犯了什么愚蠢的错误,所以我可以完成这项工作并完成任务?

它已经解决,我是一个无法正确读取括号位置/格式的白痴。同样是的,它不应该是决赛,虽然改变起初不是决议。

1 个答案:

答案 0 :(得分:0)

更改

final boolean trouble;

boolean trouble = false;

您的布尔值是final,因此无法修改,其默认值为" false"。这意味着它永远不会从" false"无论接下来会发生什么。

顺便说一下,如果输入一个大于2的数字,布尔值也将是" false"。 检查输入的整数是否在正确的范围内(0到2之间)是个好主意。