Я пытаюсь написать Java-программу, которая обнаруживает определенные слова в строке, которые считаются «ненормативными словами». Пользователь вводит строку, и программа должна вывести на экран, что профанные слова были обнаружены, поскольку она должна напечатать, что профанные слова не обнаружены. Для этой программы профанными словами являются «кошка», «собака» и «лама». Программа должна обнаружить эти слова, если они написаны с большой буквы. Он не должен идентифицировать слова как профанные, которые включают в себя профанные слова. Пример: кошки или кататоники не профаны.
Я написал программу, которая запускает и обнаруживает ненормативную лексику соответственно. Тем не менее, он выводит на экран оба сообщения «Обнаружено ненормативную лексику» и «Обнаружено ненормативное слово» Я изо всех сил пытаюсь выяснить, как заставить его печатать светские слова, обнаруженные, когда они на самом деле являются светскими словами.
import java.util.Scanner;
public class Ch3_Programming_Project3 {
public static void main(String[] args) {
Scanner keyboard=new Scanner(System.in);
boolean startProgram=true;
System.out.println("The words cat, dog, and llama are considered"
+" profane and will not be allowed.");
if (startProgram== true) {
System.out.println("Please enter a sentence:");
String sentence=keyboard.next();
sentence=sentence.toLowerCase();
boolean cat=true, dog=true, llama=true;
if (sentence.contains("cat")) {
cat=true;
}
if (sentence.contains("dog")) {
dog=true;
}
if (sentence.contains("llama")) {
llama=true;
} else {
System.out.println("No profanity detected." + " Sentence approved.");
}
if (cat==true || dog==true || llama==true) {
if (cat == true) {
if (cat==true&&dog==true&&llama==true) {
System.out.println("Profanity detected");
System.exit(0);
} else if (cat==true && dog==true) {
System.out.println("Profanity detected");
System.exit(0);
} else if (cat==true && llama==true) {
System.out.println("Profanity detected");
System.exit(0);
} else {
System.out.println("Profanity detected");
System.exit(0);
}
}
if (dog == true) {
if (dog==true && llama==true) {
System.out.println("Profanity detected");
System.exit(0);
} else {
System.out.println("Profanity detected");
System.exit(0);
}
}
if (llama == true) {
System.out.println("Profanity detected");
System.exit(0);
}
}
} else if (startProgram == false) {
System.exit(0);
} else {
System.out.println("Program was force closed.");
System.exit(0);
}
System.exit(0);
}//end main
}//end class
Я очень новичок в Java и искренне хочу учиться. Да, это домашнее задание. Но я уже представил это и пытаюсь понять, где моя ошибка, и учиться. Я пытался поискать и искать другие сообщения, чтобы определить мою проблему, но безуспешно.
Заранее благодарю всех, кто может мне помочь.