Спросите пользователя, хочет ли он продолжить игру, возьмите первую букву ответа, и если это «s» или «S», то логическое значение дает «ИСТИНА», но по какой-то причине, вместо того, чтобы написать «ДА», или если тип "follow" возвращает FALSE и завершает работу. Идея в том, что даже если вы ответите что-то пробелами, просто возьмите первую букву.
Идея состоит в том, чтобы разрешить: ДА, да, следовать, следовать, s (любое слово, начинающееся с буквы «S» или «s»).
System.out.println("¿Volver a jugar?(si/no): ");
volverjugar = teclado.nextLine();
String primera=volverjugar.substring(0, 1);
boolean seguir;
seguir = (primera == "s" || primera == "S");
System.out.println(seguir);
В Java ты должен использовать equals
, чтобы сравнивать, если контент из двух цепей равны. Оператор ==
sГіlo serГЎ истинный если объектов равны, или же, если они указывают на ту же ссылку.
Таким образом, ты cГіdigo deberГ, - чтобы функционировать:
seguir = ( primera.equals("s") || primera.equals("S") );
Как он говорит @JackNavaRow, ты можешь делать одну comparaciГіn Гєnica конвертируя информацию в mayГєscula.
Или, если ты хочешь упростить, ввиду того, что sГіlo тебе интересно сравнивать первую букву, ты можешь использовать charAt()
сочетаясь с Character.toUpperCase
, в этом cado, sГ - ты должен использовать ==
, потому что serГ - в одну comparaciГіn примитивных типов (atenciГіn aquГ - в использование простых кавычек для 'S'
:
System.out.println("¿Volver a jugar?(si/no): ");
volverjugar = teclado.nextLine();
boolean seguir = Character.toUpperCase(volverjugar.charAt(0))=='S' ;
System.out.println(seguir);
Или, поскольку он сказал @x3k_js, ты можешь прибегать к equalsIgnoreCase
. В этом примере, мы используем charAt
, чтобы получать sГіlo первого carГЎcter, это обращаем в String
, чтобы потом мочь делать одну comparaciГіn основанная на equalsIgnoreCase
:
volverjugar = teclado.nextLine();
String primera = String.valueOf(volverjugar.charAt(0));
boolean seguir=(primera.equalsIgnoreCase("S"));
System.out.println(seguir);
System.out.println("¿Volver a jugar? (si/no)");
String volverjugar = teclado.nextLine();
boolean seguir = false;
if(volverjugar.startsWith("S") || volverjugar.startsWith("s") ){
seguir = true;
}
contains
ты подтверждаешь, что слово содержало цепь, и это не то, что OP хочет, в любом случае deberí схвати использования volverjugar.startsWith("S")
, чтобы подтверждать, что цепь началась с
– x3k_js
28.11.2019, 15:42
то, что он перемещает, состоит в том, что ты сравниваешь String с другим и, как они говорят, что коллеги он с equals.
, Если queres делать это с == ты обрезал сравнивать с char:
System.out.println("¿Volver a jugar?(si/no): ");
volverjugar = teclado.nextLine();
char primera=volverjugar.charAt(0); // charAt retorna el chat en la posicion n.
boolean seguir;
seguir = (primera == 's' || primera == 'S'); // Notese las comillas simples.
System.out.println(seguir);
Я Надеюсь, что он подает тебя, обнимаю.
Character
и funcionará. Проверь có я говорю изданный. – A. Cedano 28.11.2019, 14:44