package com.javarush.test.level18.lesson10.home01; /* Английские буквы В метод main первым параметром приходит имя файла. Посчитать количество букв английского алфавита, которое есть в этом файле. Вывести на экран число (количество букв) Закрыть потоки. Не использовать try-with-resources */ import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Solution { public static void main(String[] args) throws FileNotFoundException { File x = new File(args[0]); int sum = 0; Scanner scanner = new Scanner(x); StringBuilder stringBuilder = new StringBuilder(); while(scanner.hasNext()) { stringBuilder.append(scanner.next()); } char[] ch = stringBuilder.toString().toCharArray(); for (int i = 0; i < ch.length ; i++) { if (matchEnglish(ch[i])) sum++; } System.out.println(sum); scanner.close(); } private static boolean matchEnglish(char c) { String a = Character.toString(c); Pattern p = Pattern.compile("^[a-zA-Z]$"); Matcher m = p.matcher(a); return m.matches(); } }
Leave A Comment