System.out.println("Все верно?(y/n)");
Scanner answ = new Scanner(System.in);
if (answ.nextLine() == "y")
System.out.println("Ok");
if (answ.nextLine() == "n")
System.out.println("Try again");
else
System.out.println("Неверный ввод(y/n)");
Выдает:
Все верно?(y/n)
y // Пишу 'y'
y // Но он опять пытается считать ввод, ввожу опять 'y'
Неверный ввод(y/n) //И в итоге выводит это
Вы сравниваете строки оператором ==, когда это нужно делать с помощью метода equals().
string1.equals(string2);
Оператор == сравнивает не объекты, а ссылки на них, если это не примитивные типы.
Второй оператор if у вас не связан с первым посредством else.
Также вы не сохранили значение считанной строки, вместо этого вы вызвали метод nextLine() для каждого оператора if, из-за чего второе условие не срабатывает, если ввести "n", а просит сделать ввод ещё раз.
Исправленный код будет выглядеть так:
System.out.println("Все верно?(y/n)");
Scanner answ = new Scanner(System.in);
String answer = answ.nextLine();
if (answer.equals("y"))
System.out.println("Ok");
else if (answer.equals("n"))
System.out.println("Try again");
else
System.out.println("Неверный ввод(y/n)");
Продвижение своими сайтами как стратегия роста и независимости