Неожиданный прямоугольный символ в массиве символов java

Моя программа собирается отсортировать вводимый текст по алфавиту и считать каждую букву в тексте. Таким образом, если кто-то введет «Lorem Ispum Dolor Amet», на выходе будет «adileelmmmoooprrstu» и «a = 1, d = 1, e = 2, i = 1, l = 2, m = 3, o = 3, p. = 1, r = 2, s = 1, t = 1, u = 1 ";

Итак, у меня есть вводимый текст в массиве символов. Однако, когда я пробую свой код, он выводит символ прямоугольника.

Input:"Lorem Ispum Dolor Amet"

Output:" adileelmmmoooprrstu"(with rectangle symbol at start)

Входной переменной является объект Character, поэтому я пробовал это:

if ((input.charValue()<65 && input.charValue()> 90) &&
                (input.charValue() < 97 && input.charValue() > 122)) continue;

и это: if (input==' ' || input==' ') continue; (если ввод пробел или прямоугольник)

Однако он не работает (работает с пробелом, я не могу фильтровать прямоугольник)

Как я могу этого избежать и почему в качестве первого символа в массиве char используется прямоугольник?

Не совсем уверен, почему, поскольку вы не загрузили весь свой код, но вы можете удалить символ прямоугольника в начале с помощью output.substring(1);.

Nick Parsons 17.07.2018 16:17

Было бы разумнее показать код все. Вы пытались поиграть с нами в тайных охотников?

kumesana 17.07.2018 16:17

Спецификация была причиной.

nklymok 13.01.2019 00:04
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
101
1

Ответы 1

Это условие

if ((input.charValue()<65 && input.charValue()> 90) &&
            (input.charValue() < 97 && input.charValue() > 122)) continue;

всегда будет ложным, так как значение char не может быть одновременно <65 и> 90. Скорее всего, как только вы исправите условие фильтрации, проблема с прямоугольником исчезнет.

Другие вопросы по теме