Чтение файлов и получение выходных данных
Я пытаюсь создать класс, который читает файлы ambulances. csv и patients.csv, работает в течение определенного периода времени, а затем выводит обновленную информацию в ambulances-2.csv и patients-2.csv (как входные, так и выходные файлы используют одни и те же форматы данных).
У каждого пациента есть местоположение (x, y). Исходные позиции машин скорой помощи и пациентов считываются из файлов данных. Каждую секунду машины скорой помощи будут обновлять свой статус и положение. Новый статус и должность зависят от текущего статуса:
Больница: она существует в сетке в местоположении (50, 50 • * станции скорой помощи: есть три станции в разных местах сетки: o Greenfields – (10, 0) o Bluelane – (30, 80) o Redvill – (90, 20)
1-я спецификация "на станции": проверьте, есть ли новый пациент, которого нужно забрать, если да, назначьте ближайшему неназначенному пациенту скорую помощь и измените статус на "реагирует". В противном случае ничего не делайте.
2-я спецификация "реагирование": переместите машину скорой помощи к назначенному пациенту на четыре хода. Если скорая помощь доберется до пациента, измените статус На "На месте происшествия".
Я думал, может быть, создать ArrayList "скорая помощь" и ArrayList "пациент", чтобы иметь возможность ссылаться на него и использовать операторы if, а затем распечатать его на консоли, чтобы получить представление? Но я не был уверен, как обращаться к больнице и станциям. Любые идеи были бы великолепны ! мой второй вопрос тоже так что любая критика по стилю с радостью принимается
Содержимое файлов.
Ambulances.csv id x.location y.location status patient A1 10 0 At Station A2 10 0 At Station A4 30 80 At Station A8 90 20 At Station A16 90 20 At Station A64 12 12 Responding 1 A32 50 50 At Destination A128 30 76 Returning Patient.csv id x.location y.location status ambulance 1 17 19 Assigned A64 2 50 50 Completed 3 78 29 Pending 4 97 12 Pending 5 27 17 Pending 6 28 17 Pending 7 67 2 Pending 8 3 99 Pending 9 30 81 Pending 10 49 50 Pending
Что я уже пробовал:
прочитав файл, я отобразил его на Jtable, но сначала хочу попробовать отобразить его на консоли
try { BufferedReader br = new BufferedReader(new FileReader(new File("ambulances.csv"))); ArrayList<String[]> elements = new ArrayList<String[]>(); String line = ""; while((line = br.readLine())!=null) { String[] splitted = line.split(","); elements.add(splitted); } br.close(); String[] columNames = new String[] {"ID", "Location", "Status", "Patient"}; final Object[][] content = new Object[elements.size()-1][5]; for(int i=1; i<elements.size(); i++) { content[i-1][0] = elements.get(i)[0]; content[i-1][1] = "("+ elements.get(i)[1] + ", " + elements.get(i)[2] + ")"; content[i-1][2] = elements.get(i)[3].replace("\"", ""); if (elements.get(i).length == 5) { content[i-1][3] = elements.get(i)[4].replace("\"", ""); } else content[i-1][3] = "-"; } table = new JTable(); table.setModel(new DefaultTableModel(content,columNames)); table.setVisible(true);
Richard MacCutchan
Почему вы используете необработанные объекты, строки и массивы? Вы должны создать соответствующие классы для ваших машин скорой помощи и ваших пациентов, И при необходимости иметь свойства, которые связывают одно с другим.
Member 12804008
У меня есть занятия, но это слишком много, чтобы надеть здесь :/