2015-02-07 2 views
2

(начинающий с java здесь),объединение charAt и IgnoreCase?

Я делаю простую игру, в которой пользователь может ввести, если он хочет играть снова или нет. Тем не менее, я хочу, чтобы игра продолжала воспроизводиться до тех пор, пока он вводит да, да или любую комбинацию да. Итак, если первое письмо y, игра продолжается. Ex)

Игра Запускает

} while(newGame.charAt (0) == 'y'); 

Но я также хочу Java игнорировать, если это Y или y, я попытался комбинируя charAt(0) == 'y' и IgnoreCase, но не мог понять.

Я знаю, что мог бы сделать && 'Y', но похоже, что это ненужный код?

Благодаря

+0

Я имел в виду || not && – Razoll

+0

Просто сделайте что-нибудь вроде 'Character.toLowerCase (charAt (0)) == 'y''. –

+0

Возможный дубликат [Как сравнить характер, игнорирующий случай в примитивных типах] (http://stackoverflow.com/questions/10223176/how-to-compare-character-ignoring-case-in-primitive-types) – Tarik

ответ

4

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

} while (Character.toLowerCase(newGame.charAt(0)) == 'y'); 
+0

Hei, Pay it Forward;) – vikingsteve

+0

Спасибо, это работает! – Razoll

0

Вы должны использовать метод String.startsWith. Его имя объясняет, что он делает. Чтобы игнорировать чувствительность к регистру, вы можете использовать String.toLowerCase (или toUpperCase уважительно).

Это приведет к следующему:

if (newGame.toLowerCase().startsWith("y")) { 
    // Play again 
} 
0

Исходя из логики, которую вы описали здесь, я думаю, вы должны использовать || вместо &&.

И для игнорирования чувствительности к регистру вы можете использовать статический метод класса CharactertoUpperCase() или toLowerCase(). Пример -

while(Character.toUpperCase(newGame.charAt (0)) == 'Y'){ 
... 
... 
... 
} 
0

Вы можете игнорировать чувствительность к регистру, просто преобразование символа в нижнем регистре или в верхнем регистре, используя toLowercase() или toUppercase() методы.

while (Character.toLowerCase (newGame.charAt (0)) == 'y');

while (Character.toUpperCase (newGame.charAt (0)) == 'y');

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