Задать вопрос
@TheCoolKuid

Почему выполняется только последнее if?

Здравствуйте! Пишу простенький блокнот на Java. Хочу сделать подсветку синтаксиса. Пишу такой код :
<code lang="java">
String g = j.getText();
	        	//Переменные
	        	if(!(g=="char")){
	        		String c = g.replace("char", "<font size=\"4\" color=\"blue\">char</font>");
	        		j.setText(c);
	        	}if(!(g=="int")){
	        		String c2 = g.replace("int", "<font size=\"4\" color=\"blue\">int</font>");
	        		j.setText(c2);
	        	}if(!(g=="float")){
	        		String c3 = g.replace("float", "<font size=\"4\" color=\"blue\">float</font>");
	        		j.setText(c3);
	        	}if(!(g=="double")){
	        		String c4 = g.replace("double", "<font size=\"4\" color=\"blue\">double</font>");
	        		j.setText(c4);
	        	}if(!(g=="bool")){
	        		String c5 = g.replace("bool", "<font size=\"4\" color=\"blue\">bool</font>");
	        		j.setText(c5);
	        	}
</code>


Но выполняется только последнее, то есть bool, если вписать например char , то код не подсвечивается синим.
  • Вопрос задан
  • 2355 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@vdem
Пятое условие тоже НЕ выполняется, если в g находится "bool". Посмотрите внимательнее на условия:
if(!(g=="bool")) {
    ...
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@odissey_nemo
Программист, ГИС-системы, растры, космоснимки
Вместо str1 == str2 лучше использовать str1. equals(str2)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы