
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:
y
gracias.
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;
}
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;
}
Valora esta pregunta


0