Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
9 / 9 / 8
Регистрация: 03.07.2015
Сообщений: 219
1

Переменные String и логические операторы

12.02.2016, 03:59. Показов 1350. Ответов 1
Метки нет (Все метки)

В книге Брюса Эккеля "Философия Java" есть следующее задание:

Напишите метод, который получает 2 аргумента String, выполняет с ними все операции логических сравнений и выводит результат.

Если честно озадачило. Можно ли вообще сравнивать переменный типа String?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class StringOperation{
        public static void cmpString(String a, String b){
                /*if(a >= b){
                        System.out.println("a > b");
                }else{
                        System.out.println("a < b");
                }*/
                if(a==b){
                        System.out.println("Equals");
                }else{
                        System.out.println("Not Equals");
                }
 
        }
 
        public static void main(String [] args){
                String a = "xxx";
                String b = "yyy";
                cmpString(a,b);
                b = "xxx";
                cmpString(a,b);
 
        }
}
Программа сравнивает равны ли две строки, но можно ли применить к String >, <, >= или <=???
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2016, 03:59
Ответы с готовыми решениями:

Логические операторы и операции
Есть следующий вопрос &quot;Какие логические операции и операторы вы знаете?&quot;. Как бы вы на него...

Логические операторы
Я так понимаю, логические операторы это только &amp;, | и ! &amp;&amp; и || уже не являются логическими, а...

Буллевые логические операторы
Объясните, как тип boolean определяет &quot;Правда&quot; или &quot;Ложь&quot; в данном коде. Спасибо. //Демонстрация...

Определить и вывести количество дней между двумя датами (логические операторы и операторы ветвлений)
Задачка Пользователь вводит две даты (день, месяц, год в виде целых чисел). Необходимо определить...

1
341 / 137 / 51
Регистрация: 02.12.2015
Сообщений: 329
12.02.2016, 04:43 2
Нельзя сравнивать операциями больше меньше. == - тоже нельзя (хотя он часто и работает).

надо использовать a.equals(b) вместо ==
и a.compareTo(b) - для больше/меньше, равенство она тоже определяет.

Что касается == он сравнивает ссылки. А не сами строки.

Если ссылки равны, то и строки равны. Но не наоборот.

В этой программе java присваивает a и b одинаковые ссылки на одну строку (в целях экономии памяти), чтобы не хранить строку дважды. Но если в написать b = new String("xxx"); то == покажет неравенство ссылок, хотя строки разные.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2016, 04:43

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Записать логические выражения, используя условные операторы, операции отношений и логические операции

Записать логические выражения, используя условные операторы, операции отношений и логические операции.
Нужно: Текст программы (включая подробные комментарии) Блок-схему алгоритма ...

Записать логические выражения, используя условные операторы, операции отношений и логические операции
Записать логические выражения, используя условные операторы, операции отношений и логические...

Операторы отношений и логические операторы
Всем добрый день. Очередной день изучения Г.Шилда С++ базовый курс, дошел до Операторов отношений,...

Операторы отношения и логические операторы
Нужно ли знать на память таблицу истинности для логических операторов и операций импликации?может...

Операторы отношений и логические операторы
изучаю C++ по Шилдту, и частенько встречаются не рабочии коды и приходится доделывать под себя, но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.