Dúvida exerc. Java como Programar

8 respostas
T

Olá pessoal!
Comecei a ver o livro Java como Programar 6ª edição. Estou no capítulo 2 mas fiquei empacado nos exercícios 2.30 e 2.32.

O 2.30 pede para inserir 5 dígitos e separá-los com três espaços. O livro dá a dica para usar as operações de divisão e resto para selecionar cada dígito. Se eu digitar “42339” é para sair “4 2 3 3 9”.

O 2.32 pede para inserir 5 números e determinar e imprimir quantos números positivos, negativos e zeros foram inseridos.

Pensei, mas ainda não consegui encontrar nenhum jeito para ao menos começá-los.

Quem puder me dar uma luz eu agradeço muito.

Até lá.

8 Respostas

rodrigo.bossini

tflatorre:
Olá pessoal!
Comecei a ver o livro Java como Programar 6ª edição. Estou no capítulo 2 mas fiquei empacado nos exercícios 2.30 e 2.32.

O 2.30 pede para inserir 5 dígitos e separá-los com três espaços. O livro dá a dica para usar as operações de divisão e resto para selecionar cada dígito. Se eu digitar “42339” é para sair “4 2 3 3 9”.

O 2.32 pede para inserir 5 números e determinar e imprimir quantos números positivos, negativos e zeros foram inseridos.

Pensei, mas ainda não consegui encontrar nenhum jeito para ao menos começá-los.

Quem puder me dar uma luz eu agradeço muito.

Até lá.

Divide por 10000 e veja o quociente. Agora pegue o resto da divisão e divida por 1000. Veja o quociente. Interessante, não?

igor_jua

Na primeira questão estude na documentação do java o método substring da classe string…

A segunda é mais lógica, assim há varias maneiras de vc resolver.
Ex:
Você poderia alojar os valores em um array, depois fazer um loop para verificar se os valores.
Assim:

public static void main (String args[]){
Scanner s = new Scanner(System.in);
int v[]= new int[5];

for(int i=0;i<5;i++){
System.out.println("Digite um numero");
v[i]=s.nextInt();
}

for(int i=0;i<5;i++){
if(v[i]<0)System.out.println("negativo");
if(v[i]>0)System.out.println("positivo");
if(v[i]==0)System.out.println("zero");
}
}
rodrigo.bossini

igor_jua:
Na primeira questão estude na documentação do java o método substring da classe string…

A segunda é mais lógica, assim há varias maneiras de vc resolver.
Ex:
Você poderia alojar os valores em um array, depois fazer um loop para verificar se os valores.
Assim:

public static void main (String args[]){
Scanner s = new Scanner(System.in);
int v[]= new int[5];

for(int i=0;i<5;i++){
System.out.println("Digite um numero");
v[i]=s.nextInt();
}

for(int i=0;i<5;i++){
if(v[i]<0)System.out.println("negativo");
if(v[i]>0)System.out.println("positivo");
if(v[i]==0)System.out.println("zero");
}
}

A idéia do exercício é treinar as operações de divisão inteira e módulo. Não faz sentido utilizar métodos prontos da API.

T

Obrigado mesmo pela ajuda dos dois.

Realmente, já consegui pegar o espírito do primeiro exercício.

Agora, se não for pedir muito, queria só uma orientação à respeito do segundo exercício em questão. Estou na dúvida se é o suficiente fazer uma verificação se o número é menor que 0, ou igual a 0, ou maior que 0. Para sabermos se o número digitado é negativo, igual a 0, ou positivo.

Obrigado desde já.

rodrigo.bossini

tflatorre:
Obrigado mesmo pela ajuda dos dois.

Realmente, já consegui pegar o espírito do primeiro exercício.

Agora, se não for pedir muito, queria só uma orientação à respeito do segundo exercício em questão. Estou na dúvida se é o suficiente fazer uma verificação se o número é menor que 0, ou igual a 0, ou maior que 0. Para sabermos se o número digitado é negativo, igual a 0, ou positivo.

Obrigado desde já.

Creio que você deva fazer o mesmo que no primeiro. Separe os 5 algarismos que compõem o número. Uma vez separados, compare um a um pra vezer quais os negativos, positivos ou zero.

T

rod.attack:
tflatorre:
Obrigado mesmo pela ajuda dos dois.

Realmente, já consegui pegar o espírito do primeiro exercício.

Agora, se não for pedir muito, queria só uma orientação à respeito do segundo exercício em questão. Estou na dúvida se é o suficiente fazer uma verificação se o número é menor que 0, ou igual a 0, ou maior que 0. Para sabermos se o número digitado é negativo, igual a 0, ou positivo.

Obrigado desde já.

Creio que você deva fazer o mesmo que no primeiro. Separe os 5 algarismos que compõem o número. Uma vez separados, compare um a um pra vezer quais os negativos, positivos ou zero.

Obrigado mesmo.
Vc me ajudou muito.

userguj

Cara, estou empacado justamente no exercicio 2.32, eu li as explicações que já tem neste topico, mais ainda não consegui pega o fio da miada.
Gostaria que me dessem uma luz ai, pra eu poder fazer meu code aki e posta-lo.

|/

S

Boa noite senhores,

Sei que o fórum é antigo, mas gostaria de deixar minha contribuição caso exista mais alguém com duvidas sobre como resolver o exercício 2.32.
Eu usei a lógica abaixo para resolve-lo:

public static void main(String args[]){

String numValor;

int valor;

int num1, num2,num3,num4,num5;

int result1,result2,result3,result4,result5;
numValor = JOptionPane.showInputDialog("Digite um numero com 5 digitos");
        valor = Integer.parseInt(numValor);
              num1 = valor / 10000;
              result1 = num1 * 10000;
            
              num2 = (valor - result1)/ 1000;
              result2 = ((valor - num1)/1000)*1000;
            
              num3 = (valor - result2)/100;
              result3 = ((valor - num2)/100)*100;
            
              num4 = (valor - result3)/10;
              result4 = ((valor - num3)/10)*10;
            
              num5 = (valor - result4);
              JOptionPane.showMessageDialog(null, num1+"   "+num2+"   "+num3+"   "+num4+"   "+num5);
            
               System.exit(0);
}

}

Criado 4 de agosto de 2009
Ultima resposta 3 de nov. de 2013
Respostas 8
Participantes 5