Calcular o comprimento do inteiro em Java
-
Use o
for
Loop para calcular o comprimento de um número inteiro em Java -
Use a função
Math.log10()
para calcular o comprimento de um inteiro em Java -
Use a função
toString()
para calcular o comprimento de um inteiro em Java
Neste tutorial, calculamos o número de dígitos em um inteiro em Java.
Use o for
Loop para calcular o comprimento de um número inteiro em Java
Primeiro, veremos uma solução iterativa simples para isso. Vamos dividir o inteiro por 10, armazenando a contagem em cada iteração até que o número seja igual a zero.
O código a seguir demonstra o método acima.
public class Digits {
static int count_digit(int x) {
int count = 0;
while (x != 0) {
x = x / 10;
++count;
}
return count;
}
public static void main(String[] args) {
int x = 345;
System.out.print(count_digit(x));
}
}
Resultado:
3
Também podemos implementar a lógica acima usando dividir e conquistar com recursão.
Use a função Math.log10()
para calcular o comprimento de um inteiro em Java
Agora vamos ver a solução baseada em log para isso. Estaremos usando o logaritmo de base 10 para contar o número de dígitos em um inteiro. Este método funcionará apenas com números inteiros positivos. Estaremos importando a classe java.util
da qual usaremos a função Math.log10()
.
Veja o código abaixo.
import java.util.*;
public class Digits {
static int count_digit(int x) {
return (int) Math.floor(Math.log10(x) + 1);
}
public static void main(String[] args) {
int x = 345;
System.out.print(count_digit(x));
}
}
Resultado:
3
Use a função toString()
para calcular o comprimento de um inteiro em Java
Outro método é transformar o inteiro em uma string e então calcular seu comprimento. Usaremos a função toString()
do pacote java.util
para converter o inteiro em uma string. O método length()
retorna o comprimento da string.
O código abaixo demonstra o código acima.
import java.util.*;
public class Digits {
static void count_digits(int x) {
String dig = Integer.toString(x);
System.out.println(+dig.length());
}
public static void main(String args[]) {
int x = 345;
count_digits(x);
}
}
Resultado:
3