Как я могу решить эту проблему на java
Реализуйте программу, которая подсчитывает количество однобуквенных слов в текстовом файле.
Ваша программа должна ввести имя текстового файла и напечатать номер файла.
однобуквенные слова в этом файле. Имя файла-это строка, длина которой составляет от 1 до 60.
Файл содержит от 1 до 1000 строк, каждая из которых имеет длину от 1 до 60 символов.
Символы в файле включают буквы, пробелы и разрывы строк. В файле нет цифр
или знаки препинания, и он также не включает пустые строки. Однобуквенное слово в этом файле
может быть буква, окруженная пробелами; буква в начале строки, за которой следует пробел;
буква в конце строки, перед которой стоит пробел; или однобуквенная строка. Другими словами, это письмо
рядом с ним нет другой буквы
пример:мы r инопланетяне
Мы говорим на странном языке
Мы дружелюбны
Ответ: 3
Что я уже пробовал:
ackage test; import java.io.*; public class Test { public static void main(String [] args) { // The name of the file to open. String fileName = "temp.txt"; // This will reference one line at a time String line = null; try { // FileReader reads text files in the default encoding. FileReader fileReader = new FileReader(fileName); // Always wrap FileReader in BufferedReader. BufferedReader bufferedReader = new BufferedReader(fileReader); while((line = bufferedReader.readLine()) != null) { System.out.println(line); } // Always close files. bufferedReader.close(); } catch(FileNotFoundException ex) { System.out.println( "Unable to open file '" + fileName + "'"); } catch(IOException ex) { System.out.println( "Error reading file '" + fileName + "'"); } } }
wseng
в чем твоя проблема ?
Member 13710451
код для указания одной буквы в этом предложении
Patrice T
А у вас есть вопрос ?
Member 13710451
код для одной буквы
Richard MacCutchan
Вы забыли добавить код, который ищет однобуквенные маркеры.
Member 13710451
я понятия не имею, какой код использовать
Richard MacCutchan
Смотрите Решение ниже.
Member 13710451
// Имя файла, который нужно открыть.
Строковое имя файла = "temp.txt";
// Это будет ссылаться на одну строку за раз
Строки = "мы инопланетяне р\п" +"говорить на непонятном языке\п" + "мы Р-фрэндли";
String delims = "[ ]+";
String[] tokens = phrase.split(delims);
пробовать {
// FileReader считывает текстовые файлы в кодировке по умолчанию.
FileReader fileReader =
новый FileReader(имя файла);
// Всегда оборачивайте FileReader в BufferedReader.
Командой bufferedreader командой bufferedreader =
новый BufferedReader(fileReader);
// в то время как((строка = командой bufferedreader.с readline()) != нуль) {
// System.out.println(строка);
for (int i = 0; i < токены.длина; i++)
Системы.из.код println(маркеры[я]);
// }
// Всегда закрывайте файлы.
командой bufferedreader.рядом();
}
поймать(исключение filenotfoundexception экс) {
Системы.из.код println(
"Невозможно открыть файл" +
имя файла + "'");
}
catch(IOException ex) {
Системы.из.код println(
"Ошибка чтения файла '"
+ имя файла + "'");
// Или мы могли бы просто сделать это:
// ex.printStackTrace();
}
}
}
у меня произошла ошибка