Estou precisando de ajuda, estou querendo receber 5 números de um usuário e dividi-los ex:
Usuário digitou= 12345
quero dividi-los em 5 variáveis abcde:
a = 1
b = 2
c = 3
d = 4
e = 5
e caso ele digite menos ou mais que 5 números apresente erro.
Quer q o número divida por estes 5 numeros pra ter soh um resultado ou quer q ele divida separadamente por cada um deles pa obter resultados diferentes?
É bom postar as resoluções nos tópicos também, pra algumas pessoas pode parecer um problema simples, mas pra outras pode ser que esse tópico dê uma luz algum dia.
E se suas dúvidas foram sanadas, edite, por favor, o seu primeiro post desse tópico, e adicione a tag [RESOLVIDO] ao Assunto.
Bom, pode ser que haja uma operação que consiga te dizer isso, mas não consigo pensar em uma segura, talvez alguém aí tenha uma idéia. Eu gostaria de ver também, mas o que você pode fazer é transformar seu numero em String e perguntar pelo tamanho, assim: Integer.toString(12345).length();
Então o q eu realmente preciso fazer.
O usuário vai digitar exatamente 5 numeros (int), quero que caso ele não tenha digitado 5 digitos exiba uma mensagem de erro.
A divisão dos números eu consegui usando o / e %.
System.out.println("Digite 5 números: ");
int num = input.nextInt();
int a = num/10000;
int b = num%10000/1000;
int c = num%1000/100;
int d = num%100/10;
int e = num%10;
System.out.printf("A = %d \nB = %d \nC = %d \nD = %d \nE = %d\n" , a , b , c , d , e);
Por que ao invés de nextInt() vc não usa o next() e pega a String inteira?
Algo do tipo:
String numeros = input.next()
int a = Integer.parseInt(numeros.substring(0,1));
int b = Integer.parseInt(numeros.substring(1,2));
. . .
if (numeros.lenght() != 5) {
//ERRO
}
Acho que fica bem mais fácil.
EDIT: Você ainda pode limitar a entrada de digitos. Uma maneira é esta, ao invés de usar “input.next()”: