- Форум
- Тийн интереси и проблеми
- Училище и приятели
- Информатика/Програмиране (пишете програмния език)
Ок поствам я.Задачата е готова.Има общо 5 пакета(папки)Задачата се отнася за една сграда със колко стаи и коридори е и кой е най лесния маршрут.Аз искам да знам във всеки пакет какво правим защото преподавателя това ще ме пита.
ПАКЕТ 1-Building
package ooe;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
public class Building {
private ArrayList<Hallway>hallways=new ArrayList<Hallway>();
private ArrayList<Room>rooms=new ArrayList<Room>();
private ArrayList<Route>routs=new ArrayList<Route>();
private Room entrance;
private Room exit;
public Building(String dataFile){
Path file=Paths.get(dataFile);
ArrayList<String> data=FileWorker.readFile(file);
build(data);
ArrayList<Room> route=new ArrayList<Room>();
route.add(this.entrance);
this.findRoute(route);
}
private void build (ArrayList<String> data){
for(int index=0;index<data.size();index++){
String line=data.get(index);
String []lineArray=line.split("\t");
String name=lineArray[0];
int difficulty=Integer.parseInt(lineArray[1]);
Room room=new Room(name, difficulty);
this.rooms.add(room);
}
for (int index=0;index<data.size();index++){
String line=data.get(index);
String [] lineArray=line.split("\t");
ПАКЕТ 2-fileWorker
package ooe;
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
public class FileWorker {
public static ArrayList<String> readFile (Path file){
file=file.toAbsolutePath();
file=file.normalize();
ArrayList<String> data=new ArrayList<String>();
try {
BufferedReader reader=Files.newBufferedReader(file, StandardCharsets.UTF_;
String line=reader.readLine();
while (line!=null){
data.add(line);
line=reader.readLine();
}
reader.close();
}
catch (IOException exception){
exception.printStackTrace();
return null;
}
return data;
}
Пакет 3 -hallway
package ooe;
public class Hallway {
private int length;
private Room start;
private Room end;
public Hallway (int length){
this.length=length;
}
public int getLength() {
return length;
}
public void setLength(int length) {
this.length = length;
}
public Room getStart() {
return start;
}
public void setStart(Room start) {
if (this.start==start)return;
this.start = start;
start.addExit(this);
}
public Room getEnd() {
return end;
}
public void setEnd(Room end) {
if(this.end==end)return;
this.end = end;
end.addEntrance(this);
}
@Override
public String toString (){
StringBuilder builder=new StringBuilder();
builder.append(this.length);
builder.append('-');
Пакет 4 -main
ackage ooe;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
public class Main {
public static void main(String[]args){
/*Room room=new Room("A", 0);
Room room2=new Room("B", 7);
Hallway hallway=new Hallway(6);
hallway.setStart(room);
hallway.setEnd(room2);
Room room3=new Room("C", 2);
Hallway hallway2=new Hallway(;
hallway2.setStart(room);
hallway2.setEnd(room3);
System.out.println(room);
System.out.println(room2);
System.out.println(room3);*/
Building building= new Building("input.txt");
building.print();
}
Пакет 5 -room
package ooe;
import java.util.ArrayList;
public class Room {
private String name;
private int difficulty;
private ArrayList<Hallway> entrances =new ArrayList<Hallway>();
private ArrayList<Hallway> exits = new ArrayList<Hallway>();
public Room (String name,int difficulty){
this.name=name;
this.difficulty=difficulty;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getDifficulty() {
return difficulty;
}
public ArrayList<Hallway> getEntrances() {
return entrances;
}
public Hallway getExit (Room exit){
for (int index=0;index<this.exits.size();index++){
Hallway hallway=this.exits.get(index);
if(hallway.getEnd()==exit){
return hallway;
}
}
return null;
}
public void addEntrance(Hallway entrance) {
if(this.entrances.contains(entrance))return;
this.entrances.add(entrance);
Пакет 6- route
package ooe;
import java.util.ArrayList;
public class Route {
private ArrayList<Room> rooms;
private int length;
private int difficulty;
public Route(ArrayList<Room> rooms){
this.rooms=rooms;
this.build();
}
private void build(){
this.difficulty=0;
for(int index=0;index<this.rooms.size();index++){
Room room=this.rooms.get(index);
int roomDifficulty=room.getDifficulty();
this.difficulty=this.difficulty+roomDifficulty;
}
this.length=0;
for (int index=0;index<this.rooms.size()-1;index++){
Room start=this.rooms.get(index);
Room end=this.rooms.get(index+1);
Hallway hallway=start.getExit(end);
int length=hallway.getLength();
this.length=this.length+length;
}
}
public ArrayList<Room> getRooms() {
return rooms;
}
public int getLength() {
return length;
}
.Това е ,доста е голяма ако можеш да ми помогнеш ще се радвам.Искам да знам във всеки пакет какво се случва на всеки редИзвинявай че ще ти отнема време