2015-11-09 2 views
-1

Я пытаюсь запустить эту программу как цикл, когда пользователь вводит значение «Y». Я хочу, чтобы вход игнорировал случай, так что пользователь может также ввести «y» или «n». Я бы использовал метод equalsIgnoreCase()? И если да, хотел бы я изменить свой char на логическое? Я все еще очень новичок в java около месяца, поэтому любая помощь будет оценена. Я играл с этим на некоторое время, и теперь я не могу понять это по крайней мере без одного error.The то, что я получил его петлей на все это чудо в этот момент :)Как игнорировать случай в java при запросе ввода пользователем в цикле

 char Again = 'Y'; 
     while(Again == 'Y') 
     { 
      long product = 1, count = 0; 
      System.out.println("This program will generate a table of powers of a number."); 
      System.out.println("You just have to tell me what number: \n\n"); 
      System.out.print("Enter an integer please: "); 
      int MyNum = Fred.nextInt(); 
      while(count<5) 
      { product = product * MyNum; 
       System.out.print(product + ","); 
       count = count + 1; 
      } 
     System.out.println("\nBye for now....."); 
     System.out.print("\n\n\n Try another number (y/n)?"); 
     String Word = Fred.next(); 
     Again = Word.charAt(0); 
     } 
+0

«Используется ли метод equalsIgnoreCase()?» - да. «Я хочу изменить свой char на логическое?» - Нет, вы хотите изменить его на String. Далее, используйте соглашения о присвоении имен Java, то есть - только классы/интерфейсы/перечисления начинаются с заглавной буквы, переменные/методы начинаются с нижнего регистра. – alfasin

+0

Могу ли я смиренно предложить вернуться к основам, правильно получить фундамент. Циклы, логические тесты, преобразование случаев - это то, что нужно делать так, что вы делаете их, не задумываясь. Найдите некоторые учебники, которые для вас почти слишком просты, и работайте оттуда. – wwkudu

+0

'equalsIgnoreCase' - одно из возможных решений, но если вы работаете с' char', вы также можете рассмотреть ['Character.toLowerCase'] (http://docs.oracle.com/javase/8/docs/api/ Java/языки/Character.html # toLowerCase-ха-). – ajb

ответ

3

char - примитивный тип данных, он не имеет функций-членов. Таким образом, вы должны проверить, как нижний регистр и верхний регистр, если вы вставляете с гольца:

while(Again == 'Y' || Again == 'y') 

Или, вы можете объявить снова, как String: Again = Word.toUpperCase(); затем использовать while("Y".equals(Again))

Или, просто, Again = Word; затем while("Y".equalsIgnoreCase(Again))

+0

Спасибо, мой инструктор сделал это сложнее, чем это, и нам пришлось использовать разные строковые методы, в том числе equalsIgnoreCase, поэтому я действительно пытался выяснить, как его использовать. – Victoria22

+0

@ Evette22 не проблема, вы можете использовать либо вариант 2, либо вариант 3, если ваш инструктор требует использования строковых методов. – Bon

+0

Мне нравится первый вариант, это намного проще, я буду использовать это в другой программе, которую я делаю! Я не знал, что смогу это сделать. Что касается этого назначения, я буду использовать этот последний параметр, чтобы продемонстрировать использование строкового метода. Спасибо, тонна. Я пытался использовать метод в String Word = Fred.next(); line.and Он определенно не работал для меня. Я все еще изучаю, где я могу использовать методы и места размещения в своем коде. – Victoria22

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