Java - Duda sobre código

 
Vista:
sin imagen de perfil

Duda sobre código

Publicado por Daniel (6 intervenciones) el 31/03/2016 15:45:59
Buenas, le indico aquí los atributos que tiene la clase Comida:
1
2
3
4
5
6
7
private Integer codigo;
private String nombre;
private Integer votos;
private Double precio;
private String tipo;
private boolean caliente;
private boolean vegetariano;

Y los atributos que tiene la clase ProblemaEvento:
1
2
3
4
public static List<String> tipos;
public static Map<String, List<Comida>> comidasPorTipo;
public static Integer presupuestoTotal;
public static Integer sumaVotos;

Yo tengo un fichero llamado "comidas.txt", este es su contenido:
1
2
3
4
5
6
7
8
9
10
11
12
Croquetas,5,2.0,entrante,true,false
Ensalada,3,3.0,entrante,false,true
Marisco,12,5.0,entrante,false,false
Estofado,6,3.0,primero,true,false
Crema,5,5.0,primero,true,true
Arroz,9,4.0,primero,true,true
Lomo,6,4.0,segundo,true,false
Muslo,6,3.0,segundo,true,false
Dorada,8,6.0,segundo,true,false
Tarta,8,3.0,postre,false,false
Dulces,6,2.0,postre,false,true
Cafe,6,1.0,postre,true,true
Yo el fichero lo leo en otra clase (en otro método), así que no lo he puesto en el getVotoCada().

La segunda columna por la izquierda es la que me interesa que es los votos(5, 3, 12,....,6).
Tengo que hacer un método que haga lo siguiente: que lea del fichero los datos y me muestre por pantalla los distintos valores que tiene los votos. Me refiero a que tendría que hacer lo siguiente: 5*x0 + 3*x1 + 12*x2 + 6*x3 + 5*x4 + 9*x5 + 6*x6 + 6*x7 + 8*x8 + 8*x9 + 6*x10 + 6*x11.

Lo adjunto mi código:
1
2
3
4
5
6
7
8
9
10
public static Integer getVotosCada(){
	Integer vos=0;
	for(String s:tipos){
		List<Comida> c = comidasPorTipo.get(s);
		for(Comida comi:c){
			 vos = comi.getVotos();
		}
	}
	return vos;
}
Y con esto me muestra por pantalla: 6*x0 + 6*x1 + 6*x2 + 6*x3 + 6*x4 + 6*x5 + 6*x6 + 6*x7 + 6*x8 + 6*x9 + 6*x10 + 6*x11, se me muestra el último valor de los votos(segunda columna por la izquierda) y yo quiero que me salgan todos como arriba.
Para poder sacar las xi he utilizado : r=r+AlgoritmoPLI.getFactor(ProblemaEvento.getVotosCada(), AlgoritmoPLI.getVariable("x", i)); Pero con eso no hay problema.

A ver si me pueden ayudar.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder