Java 如果布尔变量为true,如何输出字符串?

Java 如果布尔变量为true,如何输出字符串?,java,Java,我需要我的程序在酒馆打印字符名,而不是在酒馆打印true/false。我将非常感谢任何帮助。我是java初学者,所以还没有向我解释switch语句。我想我们稍后会在我的CSC 145课程中重新整理这段代码。试试这个: public class LordofTheRings { public static void main(String[] args){ boolean Gimli=false; boolean Boromir=false; boolean Arago

我需要我的程序在酒馆打印字符名,而不是在酒馆打印true/false。我将非常感谢任何帮助。我是java初学者,所以还没有向我解释switch语句。我想我们稍后会在我的CSC 145课程中重新整理这段代码。

试试这个:

public class LordofTheRings {

public static void main(String[] args){

    boolean Gimli=false;
    boolean Boromir=false;
    boolean Aragorn=false;
    boolean Sam=false;
    boolean Frodo=false;
    boolean Legolas=false;
    boolean Merry=false;
    boolean Pippin=false;
    boolean Gandalf=false;


    int night1=1;

    while (!Gimli||!Boromir||!Aragorn||!Sam||!Frodo|!Legolas|!Merry|!Pippin|!Gandalf){

        Gimli=true;

    if (night1 % 2==0) 
        Boromir=true;
    else               
    {
        Boromir=false;
    }

    if (night1 % 3==0) 
        Aragorn=true;
    else               
    {
        Aragorn=false;
    }

    if (night1 % 4==0) 
        Sam=true;
    else               
    {
        Sam=false;
    }

    if (night1 % 5==0) 
        Frodo=true;
    else               
    {
        Frodo=false;
    }

    if (night1 % 6==0) 
        Legolas=true;
    else               
    {
        Legolas=false;
    }

    if (night1 % 7==0) 
        Merry=true;
    else               
    {
        Merry=false;
    }

    if (night1 % 8==0) 
        Pippin=true;
    else               
    {
        Pippin=false;
    }

    if (night1 % 9==0) 
        Gandalf=true;
    else               
    {
        Gandalf=false;
    }

    System.out.println("Night "+night1);
    System.out.println("=========================");
    System.out.println("LOTR characters at the tavern: " + Gimli + Boromir + Aragorn + Sam + Legolas + Merry + Pippin + Gandalf);
}
}

但是HashMap会更好。

你想在这里写什么语言?问题是Javascript,但代码是Java。也许您想使用HashMap,一个用布尔值映射每个字符串的类。如果条件{variable=true;},否则{variable=false;}可以更容易地写成variable=condition;。还要注意,在while-guard中,您可以在| |和|之间切换。在这种情况下没有行为上的差异,但一般来说可能存在。通常,| |是正确的选择。感谢大家的帮助。我感谢所有的建议。我真的有点被难倒了。我会作出适当的更正。
  System.out.print("LOTR characters at the tavern: ");
  System.out.print(Gimli ? "Gimli " : "");
  System.out.print(Boromir ? "Boromir " : "");
  System.out.print(Aragorn ? "Aragorn " : "");
  System.out.print(Sam ? "Sam " : "");
  System.out.print(Legolas ? "Legolas " : "");
  System.out.print(Merry ? "Merry " : "");
  System.out.print(Pippin ? "Pippin " : "");
  System.out.print(Gandalf ? "Gandalf" : "");
  System.out.println();