Мне нужно читать текстовый файл построчно, за исключением того, что после 7 строк я хочу использовать прочитанное, назначив 7 строк 7 различным переменным.После того, как я назначил их, я хочу использовать переменные.Это самая простая часть, которую я знаю, как сделать, что застряло в том, что после того, как я использовал 7 переменных, я хочу иметь возможность назначить следующие 7 строк моего текстового файла тем же переменным и использовать ихснова.Я знаю, что должен использовать цикл (ы), но
- как мне сделать так, чтобы он останавливался после 7 строк вместо того, чтобы просто переназначить строки переменным?
- Должен ли я использовать 2 цикла?
- Или что-то похожее на разрыв или, может быть, какую-то "паузу" я могу применить?
- Или есть какой-то счетчик, который можно использовать с классом FileReader?
- Или я должен его создать?
Вот что хочет наш учитель.
Парковочные талоны
Что делать: это задание основано на задаче Programming Challenge-8 на стр. 574с некоторыми изменениями, так что внимательно прочитайте эту брошюру.Вы можете работать в командах из 2 человек, если хотите.Сотрудничество и обсуждение будет полезно.Примечание. Это самая длинная и, вероятно, самая сложная программа курса, поэтому работайте осторожно и следуйте инструкциям.
Для этого задания вы разработаете набор классов, которые будут работать вместе, чтобы имитировать парковщика, выдающего парковочные талоны.на некоторые автомобили, припаркованные на метрах.Проблема может быть немного искусственной по сравнению с тем, как работают реальные счетчики и билеты.
Вы разработаете четыре отдельных класса и демонстрационную программу для запуска всего.Прочитайте все это назначение до конца, прежде чем начинать писать код Java.Вам необходимо понять структуру нескольких классов и понять, как организован файл данных.
Базовая настройка - это группа счетчиков парковки с припаркованными на них автомобилями в течение разных промежутков времени.
Каждый автомобиль приобретет некоторое время парковки, записанное в минутах.И каждый автомобиль будет припаркован в течение определенного промежутка времени, также записанного в минутах.Некоторые будут припаркованы на большее количество времени, чем они купили, а некоторые на меньшее количество времени, чем они купили.
Вот четыре класса, которые вам необходимо развить.• Класс ParkedCar: этот класс должен имитировать припаркованный автомобиль.Обязанности класса следующие: - знать марку автомобиля, модель, цвет, номер лицензии - знать идентификационный номер его парковочного счетчика.- Имеет метод toString () для сообщения идентифицирующей информации
• Класс ParkingMeter: этот класс будет имитировать парковочный счетчик.Класс отвечает следующим образом: - узнать свой собственный идентификационный номер счетчика - узнать количество приобретенных минут - узнать количество припаркованных минут - имеет метод toString () для сообщения своей информации
• Класс ParkingOfficer: этот класс должен имитировать парковщика, осматривающего припаркованные автомобили.Класс выполняет следующие обязанности: - Имеет две переменные экземпляра: одну для имени и одну для номера пропуска офицера. - Имеет конструктор с двумя параметрами для имени и номера пропуска парковщика. - Имеет метод toString (). - Имеет проверку.() метод, который получает объект ParkedCar и объект ParkingMeter в качестве параметров.Этот метод определяет, истекло ли время или нет. Time Если время истекло, он создает объект парковочного билета, который возвращается в качестве возвращаемого значения в exam ().Time Если время не истекло, оно возвращает ноль.
• Класс ParkingTicket: этот класс будет имитировать парковочный билет.Ответственность класса заключается в следующем: - Имеет конструкторich получает в качестве параметров объект ParkedCar, объект ParkingMeter и объект ParkingOfficer, которые используются для инициализации соответствующих переменных экземпляра в классе. Обязательно используйте конструкторы копирования для каждого из этих объектов параметров.
- Этот класс также имеет переменную экземпляра для суммы штрафа.
- Штраф рассчитывается конструктором ParkingTicket:
Штраф составляет 25 долларов США за первый час или часть часа, когда автомобиль незаконно припаркован, плюс 10 долларов США за каждый дополнительный час или часть часа, когда автомобиль незаконно припаркован.
Если время не истекло, штраф устанавливается на ноль.
- Имеет метод toString (), который подготавливает тикет в удобном формате вашего дизайна (попробуйте сопоставить пример выходных данных, показанный ниже, или внесите свои собственные улучшения. Он должен сообщать марку, модель, цвет и номер лицензии незаконно припаркованного Кроме того, он сообщает сумму штрафа, а также имя и номер пропуска сотрудника полиции, выдавшего билет. В этом методе toString () вы должны эффективно использовать методы toString () для других классов в парковочном талоне (т. е. ParkedCar, ParkingMeter и ParkingOfficer)
Тестовый класс
Напишите тестовый класс TicketDemo с main (), чтобы запустить симуляцию, используя приведенные выше классы, следующим образом:
• Создать объект PoliceOfficer. Составьте свое собственное имя и номер значка. Вы можете закрепить это в своей тестовой программе или попросить пользователя ввести данные (на ваш выбор).
• В цикле читайте данные из файла данных Asg-5_in.txt. (Примечание: файл Asg-5_inExplain.txt описывает, как интерпретировать содержимое файла.)
o Считать один блок данных для автомобиля и счетчика и создать объект ParkedCar и объект ParkingMeter.
o Вызвать метод exam () сотрудника парковки, используя в качестве аргументов объекты ParkedCar и Parking meter. Метод exam вернет тикет или ноль.
o Если билет возвращается, вызовите метод toString (), чтобы распечатать билет на экране.
o Если билет не выдан, распечатайте идентификационную информацию об автомобиле (используйте метод toString ().
o Пусть цикл повторяется до тех пор, пока во входном файле больше не будет доступных данных.
Вот то, что я имею до сих пор, хотя я еще далеко не закончил.
ParkedCar класс:
public class ParkedCar{
private String make;
private String model;
private String color;
private String license;
private String meterID;
public String getMake(String make)
{
this.make = make;
return make;
}
public String getModel(String model)
{
this.model = model;
return model;
}
public String getColor(String color)
{
this.color = color;
return color;
}
public String getLicense(String license)
{
this.license = license;
return license;
}
public String getMeterID(String meterID)
{
this.meterID = meterID;
return meterID;
}
public String toString()
{
String str = "\nMake: " + make + "\nModel: " + model + "\nColor: " + color +
"\nLicense: " + license + "\nMeter ID: " + meterID;
return str;
}
}
ParkingMeter класс:
public class ParkingMeter{
private String meterID;
private int minsPurchased;
private int minsParked;
public String getMeterID(String meterID)
{
this.meterID = meterID;
return meterID;
}
public int getMinsPurchased(int minsPurchased)
{
this.minsPurchased = minsPurchased;
return minsPurchased;
}
public int getColor(int minsParked)
{
this.minsParked = minsParked;
return minsParked;
}
public String toString()
{
String str = "\nMeter ID: " + meterID + "\nMinutes Purchased: " + minsPurchased +
"\nMinutes Parked: " + minsParked;
return str;
}
}
ПарковкаОфисный класс:
public class ParkingOfficer{
private String officerName;
private String badgeNumber;
public ParkingOfficer(String officerName, String badgeNumber)
{
this.officerName = officerName;
this.badgeNumber = badgeNumber;
}
public ParkingOfficer(ParkingOfficer object2)
{
officerName = object2.officerName;
badgeNumber = object2.badgeNumber;
}
public void setParkingOfficer(String officerName, String badgeNumber)
{
this.officerName = officerName;
this.badgeNumber = badgeNumber;
}
public String toString()
{
String str = "\nOfficer's Name: " + officerName + "\nOfficer's Badge Number: " + badgeNumber;
return str;
}
}