Создать файл, содержащий сведения о рейсах автобусов и технического состояния
- По условию вывести список только тех автобусов у которых технические неисправности.
- По условию вывести список только тех автобусов у которых свободные места для указанного место назначения.Например вводим с консоли место назначение и до того место назначения в каких автобусах есть свободные места нужно эти выводить.
Я смог реализовать только файл и вывожу только общее. Я не могу никак реализовать 2 условия выше. Вот что я смог реализовать:
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Bus {
public static ArrayList<List> list5 = new ArrayList<>();
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = null;
ArrayList list = new ArrayList();
try {
File file = new File("Transport.txt");
if (!file.exists()) file.createNewFile();//если файла не существует, то создаем
PrintWriter printWriter = new PrintWriter(file);//выделяем память для PrintWriter
// Автобус №1
printWriter.println(6);//номер рейса
printWriter.println("Алматинка");//пункт отправления
printWriter.println("7 мкр");//пункт назначения
printWriter.println(45);//время поездки
printWriter.println(20);//свободные места
printWriter.println("Исправное");//техническое состояние
// Автобус №2
printWriter.println(9);//номер рейса
printWriter.println("Фрунзе");//пункт отправления
printWriter.println("Горького");//пункт назначения
printWriter.println(50);//время поездки
printWriter.println(10);//свободные места
printWriter.println("Неисправное");//техническое состояние
// Автобус №3
printWriter.println(10);//номер рейса
printWriter.println("Джал");//пункт отправления
printWriter.println("Абая");//пункт назначения
printWriter.println(25);//время поездки
printWriter.println(0);//свободные места
printWriter.println("Исправное");//техническое состояние
// Автобус №4
printWriter.println(1);//номер рейса
printWriter.println("10 мкр");//пункт отправления
printWriter.println("Турсунбаева");//пункт назначения
printWriter.println(55);//время поездки
printWriter.println(25);//свободные места
printWriter.println("Исправное");//техническое состояние
// Автобус №5
printWriter.println(3);//номер рейса
printWriter.println("Панфилова");//пункт отправления
printWriter.println("6 мкр");//пункт назначения
printWriter.println(30);//время поездки
printWriter.println(20);//свободные места
printWriter.println("Неисправное");//техническое состояние
// Автобус №6
printWriter.println(4);//номер рейса
printWriter.println("Московская");//пункт отправления
printWriter.println("Ахунбаева");//пункт назначения
printWriter.println(60);//время поездки
printWriter.println(12);//свободные места
printWriter.println("Неисправное");//техническое состояние
printWriter.close();//закрываем PrintWriter
//для чтения создаем BufferReader
bufferedReader = new BufferedReader(new FileReader("Transport.txt"));
String line;
//пока есть что для чтения,все строки добавляем в массив
while ((line = bufferedReader.readLine()) != null) {
list.add(line);
}
int size = 6;
for (int start = 0; start < list.size(); start += size) {
int end = Math.min(start + size, list.size());
List sublist = list.subList(start, end);
list5.add(sublist);
}
} catch (IOException e) {
System.out.println("Error: " + e);//При ошибке
} finally {
try {
bufferedReader.close();
} catch (IOException e) {
System.out.println("Error: " + e);
}
}
for (int i = 0; i < list5.size(); i++) {
System.out.println(list5.get(i));
}
System.out.println("---------------------------------");
Tech();
System.out.println("----------------------------------");
Free();
}
public static void Tech() {
for (int i = 0; i < list5.size(); i++) {
String a;
a = list5.get(i).get(5).toString();
{
if (list5.get(i).contains(a)) {
System.out.println("Номер рейса " + list5.get(i).get(0) + " : " + list5.get(i).get(5));
}
}
}
}
public static void Free() {
for (int i = 0; i < list5.size(); i++) {
String c;
c = list5.get(i).get(2).toString();
if (list5.get(i).contains(c)) {
System.out.println("До улицы " + list5.get(i).get(2) + " : " + list5.get(i).get(4) + " свободных мест " + " Номер рейса " + list5.get(i).get(0));
}
}
}
}