Está en la página 1de 4

package org.eda1.practica01.

ejercicio02;
import
import
import
import
import
import

java.io.BufferedReader;
java.io.File;
java.io.FileReader;
java.io.IOException;
java.util.ArrayList;
java.util.Scanner;

public class ProcesarDatos {


public static ArrayList<EmpresaProyectos> cargarArchivo(String archivo){
ArrayList<EmpresaProyectos> lista = new ArrayList<EmpresaProyect
os>();
String linea = "";
Scanner sc = null;
BufferedReader br = null;
try{
br = new BufferedReader(new FileReader(new File(archivo)
));
while((linea = br.readLine()) != null){
sc = new Scanner(linea);
String empresa = sc.next();
String proyecto = sc.next();
String ciudad = sc.next();
EmpresaProyectos nuevo = null;
boolean add = false;
for(int i=0; i< lista.size(); i++){
nuevo = lista.get(i);
if(nuevo.getEmpresa().equals(empresa));
nuevo.addProyectoCiudad(proyecto
, ciudad);
lista.set(i, nuevo);
add = true;
break;
}
if(add == false){
nuevo = new EmpresaProyectos(empresa);
nuevo.addProyectoCiudad(proyecto, ciudad
);
lista.add(nuevo);
}
sc.close();
}
}catch(IOException e){
e.printStackTrace();
} finally {
try {
if (null != br) {
br.close();
}
} catch (Exception e2) {
e2.printStackTrace();

}
}
return lista;
}
public static void guardarEmpresasProyectosCiudades(
ArrayList<EmpresaProyectos> listaEmpresas, String archiv
o) {
}
public static String devolverEmpresasProyectosCiudades(
ArrayList<EmpresaProyectos> listaEmpresas) {
String s = "";
ArrayList<ProyectoCiudades> listaProyectos = null;
for (int i = 0; i < listaEmpresas.size(); i++) {
s += listaEmpresas.get(i).getEmpresa() + ": ";
listaProyectos = listaEmpresas.get(i).getProyectos();
for (int j = 0; j < listaProyectos.size(); j++) {
s += listaProyectos.get(j).getProyecto() + "<";
for (int k = 0; k < listaProyectos.get(j).getCiu
dades().size(); k++) {
if (k == listaProyectos.get(j).getCiudad
es().size() - 1) {
s += listaProyectos.get(j).getCi
udad(k) + ">";
} else {
s += listaProyectos.get(j).getCi
udad(k) + ", ";
}
}
if (j == listaProyectos.size() - 1) {
s += "\n";
} else {
s += "; ";
}
}
}
return s;
}
public static ArrayList<String> enumerarEmpresasCiudad(
ArrayList<EmpresaProyectos> listaEmpresas, String ciudad
) {
ArrayList<String> lista = new ArrayList<String>();
for (int i = 0; i < listaEmpresas.size(); i++) {
for (int j = 0; j < listaEmpresas.get(i).getProyectos()
.size(); j++) {
if (listaEmpresas.get(i).getProyectos().get(j)
.getCiudades().contains(ciudad))
{
lista.add(listaEmpresas.get(i).getEmpres
a());
break;
}

}
}
return lista;
}
public static ArrayList<String> enumerarProyectosCiudad(
ArrayList<EmpresaProyectos> listaEmpresas, String ciudad
) {
ArrayList<String> lista = new ArrayList<String>();
for (int i = 0; i < listaEmpresas.size(); i++) {
for (int j = 0; j < listaEmpresas.get(i).getProyectos()
.size(); j++) {
if (listaEmpresas.get(i).getProyectos().get(j)
.getCiudades().contains(ciudad))
{
lista.add(listaEmpresas.get(i).getProyec
tos().get(j)
.getProyecto());
}
}
}
return lista;
}
public static int contarCiudadesEmpresa(
ArrayList<EmpresaProyectos> listaEmpresas, String empres
a) {
ArrayList<String> lista = new ArrayList<String>();
int i;
for (i = 0; i < listaEmpresas.size(); i++) {
if (listaEmpresas.get(i).getEmpresa().equals(empresa))
break;
}
for(int j = 0;j<listaEmpresas.get(i).getProyectos().size();j++){
for(int k = 0;k<listaEmpresas.get(i).getProyectos().get(
j).size();k++){
if(!lista.contains(listaEmpresas.get(i).getProye
ctos().get(j).getCiudad(k))){
lista.add(listaEmpresas.get(i).getProyec
tos().get(j).getCiudad(k));
}
}
}
return lista.size();
}
public static ArrayList<String> enumerarCiudadesProyectoEmpresa(
ArrayList<EmpresaProyectos> listaEmpresas, String proyec
to,
String empresa) {
ArrayList<String> listaCiudadesEmpresa = new ArrayList<String>()
;
ArrayList<String> listaCiudadesComunes = new ArrayList<String>()
;
for(int i = 0;i<listaEmpresas.size();i++){
if(listaEmpresas.get(i).getEmpresa().equals(empresa)){

for(int j = 0;j<listaEmpresas.get(i).getProyecto
s().size();j++){
if(listaEmpresas.get(i).getProyectos().g
et(j).getProyecto().equals(proyecto)){
for(int k = 0;k<listaEmpresas.ge
t(i).getProyectos().get(j).size();k++){
if(!listaCiudadesEmpresa
.contains(listaEmpresas.get(i).getProyectos().get(j).getCiudad(k))){
listaCiudadesEmp
resa.add(listaEmpresas.get(i).getProyectos().get(j).getCiudad(k));
}
}
}
}
}
}
for(int i = 0;i<listaEmpresas.size();i++){
if(!listaEmpresas.get(i).getEmpresa().equals(empresa)){
for(int j = 0;j<listaEmpresas.get(i).getProyecto
s().size();j++){
for(int k = 0;k<listaEmpresas.get(i).get
Proyectos().get(j).size();k++){
if(listaCiudadesEmpresa.contains
(listaEmpresas.get(i).getProyectos().get(j).getCiudad(k))
&& !listaCiudade
sComunes.contains(listaEmpresas.get(i).getProyectos().get(j).getCiudad(k))){
listaCiudadesComunes.add
(listaEmpresas.get(i).getProyectos().get(j).getCiudad(k));
}
}
}
}
}
System.out.println(listaCiudadesComunes);
System.out.println(listaCiudadesComunes.size());
return listaCiudadesComunes;
}
}

También podría gustarte