Java 布尔值设置为是/否

Java 布尔值设置为是/否,java,methods,boolean,Java,Methods,Boolean,我正在尝试使用以下参数创建名为loopquery的方法: /** create a method named loopquery() * - that returns a boolean value * - accepts no arguments * - content: * - declaration of a boolean variable initialized to false * - an InputDialog that reques

我正在尝试使用以下参数创建名为loopquery的方法:

/** create a method named loopquery()
 *   - that returns a boolean value
 *   - accepts no arguments
 *   - content:
 *       - declaration of a boolean variable initialized to false
 *       - an InputDialog that requests if you want to loopagain (y,n)and assigns the value to a string variable
 *       - converts the String variable to upper case
 *       - changes the value of the boolean variable to true if the string variable has a value of "Y"
 *       - returns the value of the boolean variable  
*/
下面是我对它的看法,但我想我错过了很多。有没有人能帮我满足以上所有要求?这是我的呕吐代码

private static void loopquery() {
    String loopquery;
    boolean loopagain = true;

    loopquery = JOptionPane.showInputDialog(null, "Another table (y.n)", 
                          "Again?", JOptionPane.QUESTION_MESSAGE);

    loopquery = loopquery.toUpperCase();
}
有关要求:

  • 如果字符串变量的值为“Y”,则将布尔变量的值更改为true
  • 返回布尔变量的值
您可以在代码末尾添加以下行以修改布尔值并返回值:

loopagain = loopquery.equals("Y");
return loopagain;
对于要求:

  • 初始化为false的布尔变量的声明
如果将布尔值初始化为true,则替换此初始化:

boolean loopagain = true;
对于这一个:

boolean loopagain = false;
注:

Java中变量和方法的标准符号是CamelCase,为了遵循标准命名约定,应该分别将“loopquery”和“loopReach”替换为“loopquery”和“loopReach”

if(loopquery.equals("Y"))
   return true;
else if (loopquery.equals("N"))
   return false;
请记住,必须将方法从void更改为boolean,因为不能在void方法中返回值

问候,

库尔蒂斯

您的基本结构大部分是正确的,但与要求您的要求存在差异:

  • 布尔值初始化为
    false
    ,您将其初始化为
    true
  • 它要求返回布尔值,返回类型为
    void
这是如何工作的,如果
loopreach
“Y”
,它会将loopreach更改为
true
,否则它会跳过并返回loopreach作为初始化值,
false

private static boolean isLoopQuery()
{
    // Declaration of a boolean variable initialized to false
    boolean loopAgain = false;

    // An InputDialog that requests if you want to loopagain (y,n)and assigns the value to a string variable
    String loopQuery = JOptionPane.showInputDialog(null, "Another table (y.n)",
            "Again?", JOptionPane.QUESTION_MESSAGE);

    // Converts the String variable to upper case
    loopQuery = loopQuery.toUpperCase();

    // Changes the value of the boolean variable to true if the string variable has a value of "Y"  
    if(loopQuery.equals("Y"));
    {
        loopAgain = true;
    }

    // returns the value of the boolean variable
    return loopAgain;
}

希望这有点清楚,并且符合您的每个要求

简而言之,虽然这不是有效的代码:
if(loopquery==“Y”){loopreace=true}else{loopreace=false}
String s=“no”;如果(布尔值)s=“是”
,如标题所示。
返回布尔值
您的方法定义可能应该是
布尔值
。根据JavaBean命名约定,如果您遵循@MarcB的代码,请确保使用
If(loopquery.equals(“Y”)
private static boolean isLoopQuery()
{
    // Declaration of a boolean variable initialized to false
    boolean loopAgain = false;

    // An InputDialog that requests if you want to loopagain (y,n)and assigns the value to a string variable
    String loopQuery = JOptionPane.showInputDialog(null, "Another table (y.n)",
            "Again?", JOptionPane.QUESTION_MESSAGE);

    // Converts the String variable to upper case
    loopQuery = loopQuery.toUpperCase();

    // Changes the value of the boolean variable to true if the string variable has a value of "Y"  
    if(loopQuery.equals("Y"));
    {
        loopAgain = true;
    }

    // returns the value of the boolean variable
    return loopAgain;
}