2014-12-08 4 views
-1

Я пытаюсь сделать метод с именем 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 
*/ 

Ниже то, что есть к нему, но я думаю, что я не хватает совсем немного. Есть ли кто-нибудь, кто может помочь мне удовлетворить все требования выше? Heres моей рвоты код

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

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

    loopquery = loopquery.toUpperCase(); 
} 
+0

Короче говоря, это будет неправильный код: 'if (loopquery ==" Y ") {loopagain = true} else {loopagain = false}' –

+0

'String s =" no "; if (boolean) s = "yes"; ', как указано в заголовке. – Charlie

+0

', который возвращает логическое значение', ваше определение метода должно, вероятно, быть' boolean'. – Shaded

ответ

0

Для требований:

  • изменяет значение логических переменного к истине, если переменная строка имеет значение «Y»
  • возвращает значение логического переменная

Вы можете добавить эти строки в конце кода, чтобы изменить логическое и возвращает значение:

loopagain = loopquery.equals("Y"); 
return loopagain; 

Для требования:

  • объявлении булевой переменной инициализируется ложной

инициализации логическое значение истинно, заменить эту инициализацию:

boolean loopagain = true; 

Для этого один :

boolean loopagain = false; 

Примечание:

Стандартные обозначения для переменных и методов в Java является CamelCase, чтобы следовать стандартному именованию, вы должны заменить имена «loopquery» и «loopagain» за «loopQuery» и «loopAgain» соответственно

0
if(loopquery.equals("Y")) 
    return true; 
else if (loopquery.equals("N")) 
    return false; 

Помните, что вы должны изменить свой метод из ничтожных булева, как вы не можете вернуть значение в методе ничтожной

с уважением,

Куртиса

0
private static boolean loopquery() {//change the return type to boolean 
    String loopquery; 
    boolean loopagain = false;//asked to have this initialized to false 

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

    if (loopquery.toUpperCase().equals("Y")) { 
     loopagain = true; 
    } 
    return loopagain; 
} 

Вы имели базовую структуру для большей части правильной, но были расхождения с требованиями, которые были заданы вами:

  • булево инициализируется как false, ты это инициализируется как true
  • он попросил вернуть boolean, у вас был обратный тип void

Как это работает Если loopagain - "Y", он изменит loopagain на true, в противном случае он пропустит и просто вернет loopagain, поскольку это инициализированное значение, false.

0
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; 
} 

Надеюсь, это немного ясно и соответствует вашим требованиям.

Смежные вопросы