import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; import com.epam.hushchyn.ReadFile; public class Part3 { public static String regex1 = "[A-Za-zА-Яа-яЁё]+"; static Pattern pt = Pattern.compile(regex1); public static String regex2 = "(\\d?\\S?\\d+)+"; static Pattern pt2 = Pattern.compile(regex2); static Matcher matcher = null; /** * Constructor. */ public Part3() { } /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { Scanner in = new Scanner(System.in); System.out.println(": char, String, int, double, or stop"); String switchvar = null; while ((switchvar = in.nextLine()).equals("stop") == false) { System.out.println(part3(switchvar)); System.out.println("tyr"); } } /** * @param switchvar * @return * @throws IOException */ public static String part3(String switchvar) throws IOException, NullPointerException { String s = ReadFile.read("part3.txt", "Cp1251"); StringBuilder stringBuilder = new StringBuilder(); switch (switchvar) { case "char": matcher = pt.matcher(s); while (matcher.find()) { if (matcher.group().length() == 1) { stringBuilder.append(matcher.group(0) + " "); } } break; case "String": matcher = pt.matcher(s); while (matcher.find()) { if (matcher.group().length() > 1) { stringBuilder.append(matcher.group(0) + " "); } } break; case "int": matcher = pt2.matcher(s); while (matcher.find()) { if (matcher.group().contains(".") == false) { stringBuilder.append(matcher.group(0) + " "); } } break; case "double": matcher = pt2.matcher(s); while (matcher.find()) { if (matcher.group().contains(".")) { stringBuilder.append(matcher.group(0) + " "); } } break; default: stringBuilder.append("error"); break; } return stringBuilder.toString(); } }