Как прочитать файл и создать новый при редактировании вывода? - PullRequest
1 голос
/ 10 мая 2019

Я пытаюсь сделать это:

Вариант 3: Загрузить статистику

Если пользователь выберет эту опцию, программа создаст файл статистики со следующими данными:

а.Выходная мощность отсортирована от самой низкой до самой высокой
b.День с наибольшим выходом
c.Всего по месяцам
д.Средняя выходная мощность для всех данных

Файл статистики будет иметь то же имя, что и входной файл, но с добавленным _stats.txt.Например, если входной файл был назван data.txt, файл статистики будет называться data_stats.txt.

Примечание. Он удалит .txt из data.txt перед добавлением _stats.txt.Он НЕ создаст файл с именем data.txt_stats.txt.Вы можете использовать метод String.subString (), чтобы удалить последние 4 символа из имени файла.

Напишите метод CreateStatsFile для выполнения этой задачи.Выберите подходящие параметры и тип возвращаемого значения.

После завершения создания файла статистики снова отобразится главное меню.

Как мне сделать AD?Я думаю, что мой цикл настроен правильно.

Это то, что находится в файле data.txt

January 10 2018 236.9
January 11 2018 267.6
January 12 2018 278.1
January 13 2018 246.9
January 14 2018 262.3
January 15 2018 288.6
February 2 2018 199.7
February 3 2018 134.6
February 4 2018 200.8
February 5 2018 198.2
March 9 2018 169.7
March 10 2018 168.3
March 11 2018 179.4

Я думаю, что мой цикл настроен правильно

 public static String createStatsFile () throws IOException
{
   File file = new File("data.txt");
   Scanner sc = new Scanner(file);
   while(sc.hasNext())
   {
       System.out.println(sc.);
   }

1 Ответ

0 голосов
/ 11 мая 2019

Такие задачи преобразования структуры данных в идеале имеют 3 шага:

  1. Вы прочитали входные данные и преобразовали их во внутреннюю структуру данных.
  2. При необходимости вы вносите дополнительные изменения в структуру данных.
  3. Вы распечатываете эту структуру данных.

Как говорится в комментариях, обычно (1) имеет наибольшее количество проблем, и это называется парсинг .

Однако, как правило, выполнение этих шагов, четко разделенных в вашем исходном коде, доставляет массу хлопот.

Важная вещь заключается в следующем: загрузить интерпретируемый файл ввода только один раз. После этого он у вас в памяти программы, вероятно, в виде некоторого набора записей, вы можете делать это легко, как вам хочется.

Нет необходимости анализировать этот файл несколько раз.

Ваша структура входных данных должна соответствовать структуре вашего ввода. Основная задача (2) - преобразование вашей структуры данных, которая легче обрабатывается для (3).

(2) в вашем случае означало бы, в основном, расширение вашей структуры данных с помощью агрегированных результатов (средние значения, сумма и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...