import java.util.* ;
import java.lang.* ;
import java.io.* ;
import java.util.regex.Matcher ;
import java.util.regex.Pattern ;
class Ideone {
final String regex
= "<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>" ; final String filecontent
= "Text template containing all sorts of .. <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(); blah blah" ;
final Pattern pattern = Pattern.compile ( regex, Pattern.DOTALL ) ;
final Matcher matcher = pattern.matcher ( filecontent) ;
while ( matcher.find ( ) ) {
uniqueKeywords.add ( matcher.group ( 0 ) ) ;
}
Scanner user_input
= new Scanner
( System .
in ) ; for ( String keyword
: uniqueKeywords
) { System .
out .
println ( "Enter a " + keyword
) ; String replacement
= user_input.
next ( ) ; String replacedData1
= filecontent.
replace ( keyword, replacement
) ; System .
out .
println ( replacedData1
) ; }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguTWF0Y2hlcjsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOwpjbGFzcyBJZGVvbmUgewogcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24gewogIFNldCA8IFN0cmluZyA+IHVuaXF1ZUtleXdvcmRzID0gbmV3IEhhc2hTZXQgPCBTdHJpbmcgPiAoKTsKICBmaW5hbCBTdHJpbmcgcmVnZXggPSAiPGFkamVjdGl2ZT58PHBsdXJhbC1ub3VuPnw8cGxhY2U+fDxub3VuPnw8ZnVubnktbm9pc2U+fDxwZXJzb24ncy1uYW1lPnw8am9iPnw8Q0lUWT58PENvbG9yIT58PEV4Y2l0aW5nLWFkamVjdGl2ZT58PEludGVyZXJzdGluZy1BZGplY3RpdmU+fDxhRHZFckI+fDxOVU1CRVI+fDxQbHVyYWwtbm91bj58PGJvZHktcGFydD58PHZlcmI+fDxOdW1iZXI+fDx2ZXJCPnw8am9iLXRpdGxlPiI7CiAgZmluYWwgU3RyaW5nIGZpbGVjb250ZW50ID0gIlRleHQgdGVtcGxhdGUgY29udGFpbmluZyBhbGwgc29ydHMgb2YgLi4gPGFkamVjdGl2ZT4sIDxwbHVyYWwtbm91bj4sIDxwbGFjZT4sIDxub3VuPiwgPGZ1bm55LW5vaXNlPiwgPHBlcnNvbidzLW5hbWU+LCA8am9iPiwgPENJVFk+LCAsIDxDb2xvciE+IDxFeGNpdGluZy1hZGplY3RpdmU+LCA8SW50ZXJlcnN0aW5nLUFkamVjdGl2ZT4sIDxhRHZFckI+LCA8TlVNQkVSPiwgPFBsdXJhbC1ub3VuPiwgPGJvZHktcGFydD4sIDx2ZXJiPiwgIDxOdW1iZXI+LCA8dmVyQj4sIDxqb2ItdGl0bGU+LCBTdHJpbmcgZGF0YTEgPSBzYy5uZXh0TGluZSgpOyBibGFoIGJsYWgiOwoKICBmaW5hbCBQYXR0ZXJuIHBhdHRlcm4gPSBQYXR0ZXJuLmNvbXBpbGUocmVnZXgsIFBhdHRlcm4uRE9UQUxMKTsKICBmaW5hbCBNYXRjaGVyIG1hdGNoZXIgPSBwYXR0ZXJuLm1hdGNoZXIoZmlsZWNvbnRlbnQpOwoKICB3aGlsZSAobWF0Y2hlci5maW5kKCkpIHsKICAgdW5pcXVlS2V5d29yZHMuYWRkKG1hdGNoZXIuZ3JvdXAoMCkpOwogIH0KCiAgU2Nhbm5lciB1c2VyX2lucHV0ID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICBmb3IgKFN0cmluZyBrZXl3b3JkOiB1bmlxdWVLZXl3b3JkcykgewogICBTeXN0ZW0ub3V0LnByaW50bG4oIkVudGVyIGEgIiArIGtleXdvcmQpOwogICBTdHJpbmcgcmVwbGFjZW1lbnQgPSB1c2VyX2lucHV0Lm5leHQoKTsKICAgU3RyaW5nIHJlcGxhY2VkRGF0YTEgPSBmaWxlY29udGVudC5yZXBsYWNlKGtleXdvcmQsIHJlcGxhY2VtZW50KTsKICAgU3lzdGVtLm91dC5wcmludGxuKHJlcGxhY2VkRGF0YTEpOwogIH0KIH0KfQ==