Untitled
unknown
plain_text
a year ago
6.1 kB
23
Indexable
import java.util.Scanner; class StepTracker { Scanner scanner; // Объявили переменную с типом Scanner для этого класса. // new Scanner(System.in) - не пишем, видимо он видит её из класса мейн. MonthData monthData = new MonthData(); // создали экземпляр класса MonthData[] monthToData = new MonthData[12]; // это массив из объектов класса MonthData, сам объект создали выше // проинициализировали массив, ссылки пока пустые, равно null int goalByStepsPerDay = 10000; StepTracker(Scanner scan) { scanner = scan; for (int i = 0; i < monthToData.length; i++) { monthToData[i] = new MonthData(); // заполнили массив monthToData 12 ссылками на объект. } } public void addNewNumberStepsPerDay(){ System.out.println("Введите номер месяца"); int month = scanner.nextInt(); // ввод и проверка номера месяца if (month<1){ System.out.println("Вы ввели: " + month); System.out.println("Введите номер месяца от 1 до 12"); } else if (month>12) { System.out.println("Вы ввели: " + month); System.out.println("Введите номер месяца от 1 до 12"); return;} // ??? не нравится , надо еще подумать куда деть ретюрн System.out.println("Введите день от 1 до 30 (включительно)"); int day = scanner.nextInt(); // ввод и проверка номера дня if (day < 1) { System.out.println("Вы ввели: " + day); System.out.println("Введите от 1 до 30"); } else if (day > 30) { System.out.println("Вы ввели: " + day); System.out.println("Введите от 1 до 30"); return; } System.out.println("Введите количество шагов"); // ввод и проверка количества шагов int steps = scanner.nextInt(); if (steps <= 0) { System.out.println("Вы ввели количество шагов за день: " + steps); System.out.println("Количество шагов должно быть больше нуля"); return; } // Получение соответствующего объекта MonthData из массива // нужна новая переменная, которой нужно присвоить ссылку из массива с нужным месяцем MonthData monthData = monthToData[month-1]; //это будет новая переменная с именем monthData monthData.days[day-1] = steps; System.out.println("Количество шагов введено.");// Сохранение полученных данных // подругому это выражение принимает вид monthData[month-1].days[day-1] = numberOfSteps; // это как двумерный массив в другом виде, типа monthToData[month-1] [day-1 ] = numberOfSteps } void changeStepGoal() { System.out.println("Введите цель. Сколько вы хотите пройти за день?"); int newGoalByStepsPerDay = scanner.nextInt(); // ввели новое значение if (newGoalByStepsPerDay <= 0) { System.out.println("Неверное значение. Количество шагов должно быть больше нуля"); return; // ???????? надо еще подумать } else { goalByStepsPerDay = newGoalByStepsPerDay; System.out.println("Цель шагов за день: " + goalByStepsPerDay + ". Удачи!"); } } void printStatistic() { System.out.println("Введите число месяца"); int month = scanner.nextInt(); // ввод и проверка номера месяца if (month < 1 || month > 12) { System.out.println("Вы ввели: " + month); System.out.println("Введите номер месяца от 1 до 12"); return; } MonthData monthData = monthToData[month - 1]; // получение соответствующего месяца int sumSteps; // получение суммы шагов за месяц // вывод общей статистики по дням // вывод суммы шагов за месяц // вывод максимального пройденного количества шагов за месяц // вывод среднего пройденного количества шагов за месяц // вывод пройденной за месяц дистанции в км // вывод количества сожжённых килокалорий за месяц // вывод лучшей серии System.out.println(); //дополнительный перенос строки } }
Editor is loading...