Dúvida de iniciante!

1. Dúvida de iniciante!

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 03/08/2008 - 18:35h

Será que alguém pode me ajudar a resolver o problema de JAVA abaixo sem usar array.. apenas divisão (/) e módulo (%)?

"Escreva um aplicativo que lê um número que consiste em cinco dígitos digitados pelo usuário, separa o número em seus dígitos individualmente e imprime os dígitos separados uns dos outros por três espaços cada."

Estou tentando aprender JAVA...

Obrigado.


  


2. Re: Dúvida de iniciante!

Denis Doria
thuck

(usa Debian)

Enviado em 03/08/2008 - 19:30h

Bem... Segue um código que fiz... Mas o código abaixo é muito ruim, e tenho quase vergonha de mostrar hehehe

import java.util.Scanner;

class Principal{

public static void main(String args[]){


gerarRelatorio(leitor());


}


static int leitor(){

Scanner sc = new Scanner(System.in);
System.out.print("Digite um número com cinco dígitos: ");
int valor = sc.nextInt();

return valor;

}


static void gerarRelatorio(int valor){

int a=0,b=0,c=0,d=0,e=0;


for(int i = 1; i < 6; i++){


switch(i){

case 1: a = ((int) (valor/10000));
valor = valor - (a*10000);

break;

case 2:
b = ((int) (valor/1000));
valor = valor - (b*1000);

break;

case 3: c = ((int) (valor/100));
valor = valor - (c*100);
break;

case 4: d = ((int) (valor/10));
valor = valor - (d*10);
break;

case 5: e = valor;
break;



}




}

System.out.print(a+"\n");

System.out.print(b+"\n");

System.out.print(c+"\n");

System.out.print(d+"\n");

System.out.print(e+"\n");



}

}


A classe Scanner só existe a partir do java 1.5.


3. Re: Dúvida de iniciante!

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 03/08/2008 - 19:57h

Legal valeu!

Só que era so usando divisão e módulo sem for nem nada.
mas eu consegui... mesmo assim muito obrigado.

segue a resposta:

import javax.swing.JOptionPane;

public class Exercicio {

public static void main (String args[]) {

String numeroDeCincoAlgarismos;

int numeroInteiro,
primeiroAlgarismo,
segundoAlgarismo,
terceiroAlgarismo,
quartoAlgarismo,
quintoAlgarismo;

numeroDeCincoAlgarismos = JOptionPane.showInputDialog("Digite um número de cinco algarismos:");
numeroInteiro = Integer.parseInt (numeroDeCincoAlgarismos);

primeiroAlgarismo = (numeroInteiro / 10000);
segundoAlgarismo = ((numeroInteiro / 1000) % 10);
terceiroAlgarismo = ((numeroInteiro / 100) % 10);
quartoAlgarismo = ((numeroInteiro / 10) % 10);
quintoAlgarismo = (numeroInteiro % 10);

JOptionPane.showMessageDialog (null,
primeiroAlgarismo + " " +
segundoAlgarismo + " " +
terceiroAlgarismo + " " +
quartoAlgarismo + " " +
quintoAlgarismo
);
System.exit(0);
}
}


4. Re: Dúvida de iniciante!

Fagner Amaral de Souza Candido
f_Candido

(usa Ubuntu)

Enviado em 03/08/2008 - 22:33h

Sem querer ser chato, mas como você disse que é iniciante, lhe pergunto: E se o camarada, informar um número com 6, ou 4 digitos???


Abraços


5. Re: Dúvida de iniciante!

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 03/08/2008 - 23:14h

Bem.. a questao era pra fazer so com 5...
mas se fizer com 4 por exemplo, ele vai criar o zero para ser o primeiro e se fizer com 6 ele vai agrupar os dois primeiros como se fosse apenas um.

exemplo: se eu digitar 123456 vai ter a resposta 12 3 4 5 6


6. Re: Dúvida de iniciante!

Fagner Amaral de Souza Candido
f_Candido

(usa Ubuntu)

Enviado em 04/08/2008 - 13:36h

Como solução, você pode validar a entrada, para uma determinada faixa de valores. Seria uma possível solução.


Abraços






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts