estou pequisando, não consegui encontrar um comando para fazer programar… aqui o livro java como programar 8 edição pag 54 e cap 2.30 diz o exercício
escreva o aplicativo que insere um número consistindo em cinco digito do usúario, separa o número em seus dígito inviduais e imprime os dígitos separando uns outros por três espaços cada. por exemplo, se usuário digitar o número 42399 e imprime na tela 4 2 3 9 9.
Faz alguns teste com relaçao a operaçoes matematicas, tipo assim
Numero 42359 / 10000 = 4 parte inteira
resto 0.235910000 = 2359
Resto 2359 / 1000 = 2 parte inteira
resto 0.3591000 = 359
. . . . . . .
E assim sucessivamente
Vc pode armazenar em um vetor de 5(a conta vc faz em uma variavel a parte) e depois imprime o vetor com espaçoes entre os elementos
davidbuzatto1 like
intnumero=3489723;// converte o int em String e cria um array de chars com base na Stringchar[]digitos=String.valueOf(numero).toCharArray();// mostra cada charfor(chard:digitos){System.out.print(d+" ");}
[]´s
D
Damiao_Cunha
se voce preferir usar a API,fica bem simples…
vc vai pegar esse valor e transformar para string, depois q transformar, a classe string tem um meotod que forma um array de char.
pronto, agora é só vc fazer um FOR com o tamanho desse array, e na escrita vc colocar o vetor na possição e colocar os espaços dentro das aspas…
entendeu??? gastei apenas 4 linhas ´para fazer isso.
vlw
jsnpereira
obrigado pessoal!
agora já consegui a executar a programa…
valeu!!!
OneSr3 likes
Olá jsnpereira sei que é uma resposta meio atrasada, mas como ninguém respondeu o exercício para você de acordo com o (grau) do capítulo, eu cheguei neste exercício agora e consegui resolvê-lo segue abaixo a resolução do exercício, espero que intenda, eu sinceramente ainda vou buscar ajuda para entender o porque de a cada operador ‘%’ retornar o último inteiro e depois o operador ‘/’ retornar todo o inteiro (- 1 casa), não entendi muito bem nem oque eu mesmo fiz a [color=red]00:20 :shock:[/color]
/* * programa que dado um inteiro de 5 numeros pelo usuário, * ele separa cada numero com 3 espaços ->(sem a utilização de arrays) */importjava.util.Scanner;publicclassExercicio12Cap2{//início classe Exercicio12Cap2publicstaticvoidmain(String[]args){//início método principal mainScannerentrada=newScanner(System.in);intvalorUsuario,//obtém valor através do usuárioquinto,//obtém o 5° numero da entradaquarto,//obtém o 4° numero da entradaterceiro,//obtém o 3° numero da entradasegundo,//obtém o 2° numero da entradaprimeiro;//obtém o 1° numero da entradaSystem.out.print("Entre com um valor de 5 casas (inteiro): ");valorUsuario=entrada.nextInt();quinto=valorUsuario%10;//se fosse 12345 retornaria 5valorUsuario/=10;//agora se fosse ainda 12345 valorUsuario obtém 1234 e assim por diante até que seja (valorUsuario obtém 1 da divisão)quarto=valorUsuario%10;valorUsuario/=10;terceiro=valorUsuario%10;valorUsuario/=10;segundo=valorUsuario%10;valorUsuario/=10;primeiro=valorUsuario%10;System.out.printf("%d %d %d %d %d\n",primeiro,segundo,terceiro,quarto,quinto);}//fim método principal main}//fim classe Exercicio12Cap2
A galera + Sênior sugeriu soluções mais avançadas e você a mais adequada ao nivel desta dúvida que eu também estava!
Obrigado.
L
luizjam
/**
Programa irá ler um número inteiro de 5 digítos e
Imprimirá esse valor separado por 3 caracteres de espaço
entre cada elemento desse número
@author luiz
*/
import java.util.Scanner;
public class ExercicioDeitel_230 {
publicstaticvoidmain(String[]args){System.out.print("Digite um número de 5 digitos: ");intnum1=newScanner(System.in).nextInt();intresto1=num1%10000;intresto2=num1%1000;intresto3=num1%100;intresto4=num1%10;intdigito1=num1/10000;intdigito2=resto1/1000;intdigito3=resto2/100;intdigito4=resto3/10;intdigito5=resto4;System.out.println(digito1+" "+digito2+" "+digito3+" "+digito4+" "+digito5);}// main