Я пытаюсь, чтобы мой код выполнял поиск по определенным ключевым словам и на основе этих конкретных ключевых слов создавал подсказку для ввода пользователем сканера для замены таких ключевых слов. Например, в текстовом файле:
Привет, меня зовут ‹ имя>, как тебя зовут? ваше имя ‹ имя>?
Я люблю поесть ‹ еда>. Ты?
Программа должна обнаруживать «‹ имя>» и предлагать пользователю ввести имя дважды для разных ключевых слов.
Пока у меня это:
// Java program to illustrate reading from Text File
// Using scanner class
import java.io.File;
import java.util.Scanner;
public class TxtOutput{
public static void main(String[] args) throws Exception
{
// pass the path to the file as a parameter
File file = new File("C:\\Users\\aaron\\Documents\\TestTXT\\test.txt");
Scanner sc = new Scanner(file);
//Types of keywords
//<adjective>, <plural-noun>, <place>, <noun>, <funny-noise>, <person's-name>, <job>, <CITY>, , <Color!>
//, <Exciting-adjective>, <Interersting-Adjective>, <aDvErB>, <NUMBER>, <Plural-noun>, <body-part>, <verb>,
//<Number>, <verB>, <job-title>,
String data1 = sc.nextLine();
if (data1.contains("<job>"));
Scanner user_input = new Scanner (System.in);
String job1;
System.out.println("Enter a profession");
job1 = user_input.next();
String replacedData1 = data1.replace("<job>", job1 );
System.out.println(replacedData1);
}
}
Программа может обнаружить только одно ключевое слово, и у нее есть заранее подготовленные операторы if и else. Есть ли способ сделать оператор if и else со сканером на основе ключевых слов, таких как «‹ name>» или «‹ food>» в строке? Я не хочу бомбардировать эту программу ненужным количеством предварительно сделанных операторов if и else. Мне было интересно, есть ли более эффективный способ сделать это.