Java - problema con ciclos

 
Vista:
sin imagen de perfil

problema con ciclos

Publicado por Faustino (6 intervenciones) el 03/11/2015 14:06:18
Hola. tengo un problema . Trato de con los dias de cada mes y que coincidan con los que yo he guardado en una base de datos cambiarles de aspecto en un calendario: para ello la variable "dias es un lists de los dias del mes.
y" separateTime" es an array con los dias guardados en la base de datos"bd, En la actualidad los dias guardados ,son (29,26,27,31, del 7-2015, 16-8-2015 y 13-9-2015).
Para ello creo un metodo" permisos" donde en teoria calcula las coincidencias que le paso del primer metodo "diasde trabajo" que le pasa los dias del mes.
Lo que ocurre es que solo cambia el ultimo dia 13-9.
No se como arregrarlo.
Los metodos son:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public List<String> diasdeTrabajo(){
	LocalDate hoy = LocalDate.now();
	LocalDate inicio = LocalDate.parse("2014-02-01");
		boolean permiso;
		for (int i = 0; i < dias.size(); i++) {
			String dia1 = dias.get(i);
			permiso= permisos(dia1);
			if(permiso==true){
				list.add(dias.get(i) + "-CAMBIO");
 
			}else{
				String[] dateArr = dias.get(i).split("-");
				String diaa = dateArr[0];
				String mes = dateArr[1];
				String año = dateArr[2];
				int mess = Integer.parseInt(dateArr[1]) + 1;
				String messs = String.valueOf(mess);
				String diac = diaa + "-" + messs + "-" + año;
 
				DateTimeFormatter dtf = DateTimeFormat.forPattern("dd-MM-yyyy");
				LocalDate diasdeTrabajo = LocalDate.parse(diac, dtf);
				Days dia = Days.daysBetween(inicio, diasdeTrabajo);
				int days = dia.getDays();
					int seg2 = days % 8;
					if(seg2 == 1 || seg2 == 3) {
						list.add(dias.get(i) + "-CURRO");
				}else if (seg2 == 4){
					list.add(dias.get(i) + "-CURRON");
				}
 
				else  {
					list.add(dias.get(i) + "-WHITE");
				}
 
			}
		}
return list;
}
y
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public boolean permisos(String string){
		boolean permiso = false;
		DataBaseCambios bd= null;
		bd = new DataBaseCambios(_context);
		String[] separatedTime;
		String   diaPermiso="";
		diaPermiso = bd.diasPrmisos();
		separatedTime = diaPermiso.split(",");
		int numero = separatedTime.length;
		Vector<String> vector = new Vector<String>();
		for (int i = 0; i<numero;i++){
			vector.add(separatedTime[i]);
		}
		ArrayList<String> al = new ArrayList<String>(vector);
 
		for(int i =0; i<numero;i++){
 
			if( string.equals(separatedTime[i])){
 
			permiso= true;
			}else{
				permiso = false;
			}
		}
	return permiso;
 
}
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

problema con ciclos

Publicado por Renzo (232 intervenciones) el 03/11/2015 22:10:07
Tu método permiso esta mal, siempre retornará falso a menos que sea el último.

Puedes simplificar con este metodo:

public boolean permisos(String string){
List<String> l = Arrays.asList(string.split(","));
return l.contains(string);
}


Saludos

Espero te sirva.

Renzo

www.imagineanddo.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

problema con ciclos

Publicado por Faustino (6 intervenciones) el 05/11/2015 17:14:18
Muchisimas gracias. Segui tu consejo y funciono . gracias.
El metodo quedo asi , luego solo tuve que llamarle desde el primero:
1
2
3
4
5
6
7
8
9
10
11
12
public boolean permisos(String string){
    	   DataBaseCambios bd= null;
      	  bd = new DataBaseCambios(_context);
      	 String[] separatedTime;
  	     String   diaPermiso="";
     	   diaPermiso = bd.diasPrmisos();
    	     separatedTime = diaPermiso.split(",");
    		    int numero = separatedTime.length;
    		    List<String>l=Arrays.asList(diaPermiso.split(","));
		return l.contains(string);
 
       }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

problema con ciclos

Publicado por Renzo (232 intervenciones) el 05/11/2015 17:18:07



Saludos

Renzo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar