Exercicio do Deitel

Galera, estou iniciando meus estudos em Java além do conteúdo passado na faculdade, também pelo livro Java Como Programar, 6a edição.

No final do 2 capítulo, nos exercicios, teve apenas um deles que não consegui resolver, e gostaria da ajuda de vocês, vou digitá-lo abaixo.

Escreva um aplicativo que insere um número consistindo em cinco dígitos do usuário, separe o número em seus dígitos individuais e imprima os digitos separados uns dos outros por três espaços cada. Por exemplo, se o usuário digitar o número 42339, o programa deve imprimir:

4 2 3 3 9

Suponha que o usuário insira o número correto de digitos. O que acontece quando você executa o programa e digita um número com mais de cinco dígitos? O que acontece quando você executa o programa e digita um número com menos de cinco dígitos?

Isso pq é apenas o segundo capítulo ehehhe, pelo visto esse livro vai fritar meu cérebro, mas isso é bom, só assim pra aprender a desenvolver.

abraços

E ae, cara, blz? O livro dos Deitel é muito bom para começar, um pouco extenso, prolixo, mas muito didático.

Em relação ao exercício… qual a sua dificuldade? Já esboçou algum código sobre esta tarefa?

[quote=Yky Mattshawn]E ae, cara, blz? O livro dos Deitel é muito bom para começar, um pouco extenso, prolixo, mas muito didático.

Em relação ao exercício… qual a sua dificuldade? Já esboçou algum código sobre esta tarefa?[/quote]

Cara na verdade não sei nem por onde começar, pq o Deitel fala para utilizar as técnicas aprendidas neste capítulo 2 (só o básico). Eu acho que conseguiria resolver utilizando um vetor de caracteres e depois convertendo para um vetor de inteiros, utilizando conhecimentos que tenho de Linguagem C mas como a síntaxe do Java é herdada do C não mudaria muito.

Porém isso já seria um pouco mais avançado, com os conhecimentos desse capítulo (operadores de igualdade e relacionais e if ) não sei.

Ele informa que será necessário utilizar operações de divisão e de mod para “selecionar” cada dígito.

Olá Daniel_MV.

Neste exercício, você deve capturar o número digitado pelo usuário com a classe Scanner, usando o método nextInt, logo, a entrada do usuário será um int. Depois que você receber o número do usuário, basta você realizar operações de divisão(/) e módulo(%) para extrair cada um dos algarismos individuais do número que o usuário digitou.

Isso eu sei, rs, só não sei ainda como

Mas valeu !

abs

Daniel_MV, já que você não sabe como usar os operadores de divisão e módulo para extrair os algarismos individuais de um número, eu escrevi o exemplo abaixo, que faz exatamente o mesmo, só que com um número formado por 3 algarismos. Assim, ao lê-lo, a lógica do seu exercício provavelmente ficará mais clara para você.

[code] import java.util.Scanner;

public class ExercicioDeitel
{
public static void main(String[] args)
{
Scanner entrada = new Scanner(System.in);

  System.out.print("Digite um numero inteiro com 3 algarismos: ");
  int numero = entrada.nextInt();

  System.out.printf("%d %d %d\n", numero / 100, numero % 100 / 10, numero % 10); 

}
}[/code]

P.S.: Como o exemplo acima considera que o número têm 3 algarismos, as operações não podem ser reaproveitadas no seu exercício, mas a lógica envolvida é a mesma.

[quote=elomarns]Daniel_MV, já que você não sabe como usar os operadores de divisão e módulo para extrair os algarismos individuais de um número, eu escrevi o exemplo abaixo, que faz exatamente o mesmo, só que com um número formado por 3 algarismos. Assim, ao lê-lo, a lógica do seu exercício provavelmente ficará mais clara para você.

[code] import java.util.Scanner;

public class ExercicioDeitel
{
public static void main(String[] args)
{
Scanner entrada = new Scanner(System.in);

  System.out.print("Digite um numero inteiro com 3 algarismos: ");
  int numero = entrada.nextInt();

  System.out.printf("%d %d %d\n", numero / 100, numero % 100 / 10, numero % 10); 

}
}[/code]

P.S.: Como o exemplo acima considera que o número têm 3 algarismos, as operações não podem ser reaproveitadas no seu exercício, mas a lógica envolvida é a mesma.[/quote]

Caro amigo Elomarns, MUITO OBRIGADO, clareou totalmente minha mente, é só usar a boa e velha matemática com uma decomposição de primário, rs

Acho que o mau de todo programador iniciante é justamente esse de não saber relacionar a matemática com a lógica de programação, eu pensava que existiria uma “lógica java” para resolver o problema, mas na verdade existiu foi um método matemático muito simples.

Mas uma vez obrigado

Abraço

DAniel