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

Sign in to follow this  
DevilReject

Gerar números pares num intervalo

Recommended Posts

DevilReject

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?

Share this post


Link to post
Share on other sites
Knitter

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.

Share this post


Link to post
Share on other sites
pedrosorio

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.


Não respondo a dúvidas por mensagem.

Share this post


Link to post
Share on other sites
DevilReject

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

Share this post


Link to post
Share on other sites
Knitter

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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.