Java - numero de cifras en un numero compuesto solo por ceros

 
Vista:

numero de cifras en un numero compuesto solo por ceros

Publicado por TecnoK (1 intervención) el 28/11/2016 12:06:42
Buenas, me preguntaba como contar el numero de cifras en un numero tal que asi 00000 por ejemplo

Por lo que he visto, Java solo detecta el primer 0 y lo demas lo obvia entonces intente añadir una cifra delante asi

1
2
3
4
5
6
static int numCeros(int num){
   String cadena= "1"+num;
    int res=0;
     res=cadena.length()-1;
     return res;
}

pero no funciona.
Alguien sabe como puede hacerse?
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
sin imagen de perfil
Val: 214
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

numero de cifras en un numero compuesto solo por ceros

Publicado por juanki (131 intervenciones) el 28/11/2016 12:27:38
Hola

No es que java solo detecte solo el primer cero, es que cero es cero, por muchos ceros que pongas juntos, seguirá siendo cero y ese es el valor que se guarda en la variable.

Si quieres guardar más ceros tendrás que usar una variable de tipo String o cambiar la función y que reciba el número de ceros a añadirle.

Unsaludo
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
Imágen de perfil de Lawliet
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

numero de cifras en un numero compuesto solo por ceros

Publicado por Lawliet (303 intervenciones) el 28/11/2016 18:05:57
Hola...

Si lo que deseas es saber cuantos 0 tiene entonces es necesario que manejes el número como String, esto es importante por que recordemos que no solo en Java sino también en otros lenguajes de programación o por lo menos es lo que tengo entendido, un valor numérico como este 00000 es 0, ya que recordemos que un 0 a la izquierda no vale para nada. Te paso un ejemplo de como quedaría...

1
2
3
4
5
6
7
8
9
10
11
String numero = "00001";
int totalCeros = 0;
char[] caracteres = numero.toCharArray();
 
for(int i = 0; i < caracteres.length; i++) {
	if(caracteres[i] == '0'){
		totalCeros ++;
	}
}
 
System.out.println("Ceros Totales: " + totalCeros);

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.

Saludos!
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