• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

DevilReject

Gerar números pares num intervalo

5 mensagens neste tópico

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                       

                      int num;

String par = "";

num = Integer.parseInt(jTextField1.getText());

num = Integer.parseInt(jTextField2.getText());

for (num = 0; num <= 100; num++) {

if (num % 2 == 0)

par +=  num + ", ";

System.out.println("Os numeros pares  sÃo: " + par);

Boas, este codigo gere-me sempre os numeros pares entre 0 e 100 independetemente dos numeros que meto nas 2 text fields.

Eu queria que mete-se os numeros paresmas entre um intervalo escolhido pelo utilizador.

Alguém que saiba ajudar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se souberes qual o máximo e mínimo do intervalo:

int num;
String par = "";

max = Integer.parseInt(jTextField1.getText());
min = Integer.parseInt(jTextField2.getText());
for (num = min; num <= max; num++) {
   if (num % 2 == 0) {
       par +=  num + ", ";
   }
}

System.out.println("Os numeros pares  sÃo: " + par);

Se não souberes qual é o maior e o menor, podes usar os métodos max e min da classe Math

Math.max(a, b);
Math.min(a, b);

Há várias formas de fazeres o que queres, apenas alterei ligeiramente o teu código, não é a melhor opção mas é uma opção.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes fazer assim como o knitter embora, dado que o for te permite escolher a actualização da variável, o que faz mais sentido é algo do género:

minaux=min;
if(minaux % 2 == 1) {
minaux++;
}
for(num=minaux; num<=max; num+=2) {
   par+= num + ", ";
}

Isto é, em vez de testares se é par todas as vezes, começas pelo primeiro par e andas de dois em dois.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Está pronto!

Obrigado, estava a meter umas linhas erradas ;)

Mais uma duvida..com este código...como posso meter no final a dizer quantos pares são nesse intervalo, por exemplo de 0 a 100- "são 50 pares" e tambem me dizer quantos numeros têm apenas um digito.

se o intervalo fosse fixo tipo: o a 100..poderia aldabrar com o system.println etc etc

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes fazer de várias formas, mas primeiro deverás dividir a string com o resultado. Se usares o método split da string podes dividir pelo separador que quiseres, depois é só contar as posições do vector resultante e ficas a saber quantos são os pares obtidos.

Para contar os de um dígito podes percorrer o vector até ao fim ou até encontrares um número de dois dígitos, e ires contanto os de um dígito apenas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora