Есть такой код:
import java.util.Scanner;
public class NoobsIm {
public static void main(String[] args) {
boolean continueWhile = true;
Scanner inp = new Scanner(System.in);
do {
System.out.print("> ");
String inputText = inp.nextLine();
if (inputText == "m") {
System.out.println("сработало");
continueWhile = false;
}
else {
System.out.println("не сработало");
}
} while (continueWhile);
}
}
И, если честно, делает какую-то ерунду! Ввожу "m" — выводит "не сработало". Ввожу "Что-то там" — выводит то же самое.
Оператор сравнения == в Java возвращает true либо при сравнении примитивных типов имеющих одинаковые значения, либо при сравнении двух одинаковых объектов (ссылок на один и тот же объект). В вашем случае два объекта типа String являются разными, хоть и содержат внутри себя одинаковые данные.
Для сравнения объектов используют оператор equals(), где он реализован. Т.е. в вашем случае надо делать так:
if(inputText.equals("m")){
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости