Member 12804008 Ответов: 0

Чтение файлов и получение выходных данных


Я пытаюсь создать класс, который читает файлы 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

У меня есть занятия, но это слишком много, чтобы надеть здесь :/

0 Ответов