Это наилучшее решение , которое я нашел до сих пор.
Предположим, что у нас есть пакет с именем org.mypackage
, содержащий классы:
и файлы, определяющие этот пакет, хранятся физически в каталоге D:\myprogram
(в Windows ) или /home/user/myprogram
(в Linux).
Структура файла будет выглядеть так:
Когда мы вызываем Java, мы указываем имя приложение для запуска: org.mypackage.HelloWorld
. Однако мы также должны сказать Java, где искать файлы и каталоги, определяющие наш пакет. Поэтому, чтобы запустить программу, мы должны использовать следующую команду:
В вашем коде есть логическая проблема, так как он не может просто распознать 'not '
(обратите внимание на пробел) как причудливое слово.
Вы можете изменить свою if
логику и использовать вместо этого регулярное выражение.
if (str.matches(".*\\bnot\\b.*")) {
output.append(REAL_FANCY);
} else {
output.append(REGULARLY_FANCY);
}
Здесь шаблон регулярного выражения соответствует целому слову , а не только . Подробное объяснение этого регулярного выражения можно найти в здесь .