[RESOLVIDO] - Exibir número de dígitos na tela

Boa tarde, eu estou fazendo uma classe de teste e preciso fazer um método que faz o seguinte, exibir quantos dígitos tem o maior número digitado e quantos dígitos tem o menor. Converter para String.
Tem que usar o “lenght()” para fazer isso, né?! Como eu posso fazer?

Vc terá que usar uma serie de métodos ai, mais posta o que vc já conseguiu fazer que ajudamos vc

Bom, eu tive que criar um objeto com alguns números lidos do teclado, após fazer isso, eu tinha que exibir na tela o maior e o menor dos três números que o objeto recebeu. O próximo passo é esse, exibir quantos dígitos tem o maior e quantos dígitos tem o menor, e converter para String.

[code]public class TesteNumeros{
public static void main (String args[]){
Teclado t = new Teclado();
int primeiro = t.leInt("Digite o primeiro número: ");
int segundo = t.leInt("Digite o segundo número: ");
int terceiro = t.leInt("Digite o terceiro número: ");
if(primeiro < 0 || segundo < 0 || terceiro < 0){
System.out.println(“Número inválido”);
return;
}

        TresNumerosInteiros x = new TresNumerosInteiros(primeiro, segundo, terceiro);
            System.out.println("O maior número é: " + x.getMaior());
            System.out.println("O menor número é: " + x.getMenor());
           
            
}

}[/code]

Até agora, tenho isso…

Isso agora você pega por exemplo e faz


System.out.println("O maior número é: " + String.valueOf(x.getMaior()).lenght();

Espero ter ajudado.

cara, seguinte, não tá compilando, dá um erro assim: “int cannot be dereferenced”.

Eu tinha editado a primeira resposta que eu dei derrepente vc pegou a antiga, da uma olhada denovo, mais segue abaixo um exemplinho que fiz rápido aqui e compilou certinho.


int i = 12345;		
System.out.println(String.valueOf(i).length());

Resultado = 5

Feito, funcionou perfeitamente!

e seguindo no embalo, se o menor número tiver menos de 3 dígitos, tenho que exibir os 3 dígitos, com zeros à esquerda. Pra esse caso eu preciso usar o indexOf ?

Você pode fazer assim

System.out.println(String.format("%06d", 123));

Assim ele pega e conta 6 digitos e preenche com zeros a esquerda.

Não esquece de editar seu post e colocar como resolvido.

Aí, meu velho, agora sim, tudo resolvido!

Valeu mesmo!

cara, depois que eu exibi os valores, acrescentando os zeros a esquerda, eu queria pegar o segundo valor, e trocar por outro que seria escolhido através de um método randômico…

No caso seria, se na tela apareceu : 006, após o método randômico ser executado, eu gostaria que ficasse, por exemplo, 076. Como eu posso fazer?

Vc terá que pegar esse valor quebrar ele com substring, atualizar a posição que vc quiser e montar ele novamente.