package com.javarush.task.task18.task1816;
/*
Английские буквы
*/
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) throws FileNotFoundException, IOException {
FileInputStream file = new FileInputStream(new File(args[0]));
int count = 0;
while (file.available()>0) {
int b = file.read();
String let = Integer.toString(b);
Pattern p =Pattern.compile("[a-zA-Z]");
Matcher m =p.matcher(let);
while (m.find()) {
count++;
}
}
file.close();
System.out.println(count);
}
}
Pavel
36 уровень
Где ошибаюсь ?
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
--------Master
16 декабря 2017, 15:03решение
Integer.toString преобразует байт в строку как есть, т.е. 100 в "100". Тебе надо что-то типа:
+2
Pavel
16 декабря 2017, 15:34
Спасибо!
Скажите, а почему так надо?
0
--------Master
16 декабря 2017, 15:58полезный
В этой команде же считывается ASCII-код символа, а сам символ - это именно отображение этого кода. Т.е. для примера немного изменил твою программу - создал файл с содержимым "java123" и переделал саму программу, чтобы выводила на экран оба варианта преобразования b:
Результат вывода:
+1