Numeros Crescentes num intervalo

7 respostas
D

Oi…

Tenho que criar um programa que faça aparecer os números entre um intervalo de forma crescente…

Aquilo que eu consigo fazer é mostrar os números q escrevo e não todos os numeros que estão entre o intervalo :cry:
Por exemplo: meto o 10 e 20 e ele ordena o 10 e 20…e o que quero é que ordene entre o 10 e 20 (11, 12, 13 etc)

Alguém me consegue ajudar? praticamente não tenho conhecimentos de java…

Segue abaixo o código que eu tenho, será que tenho que mudar muita coisa?
alguma maneira mais fácil…queria acbar isto ainda hoje :smiley:

package javaapplication4;

import javax.swing.*;

public class Main

{

private int x[]=new int[2];

private int a;
public Main()

{

for(a=0;a<2;a++)

{

x[a]=Integer.parseInt(JOptionPane.showInputDialog(DIGITE um numero));

}

}
public void print()

{

JOptionPane.showMessageDialog(null,CRESCENTE :+x[0]+" , "+x[1]);

}
public static void main(String args[])

{

Main a=new Main();
a.print();

System.exit(0);

}

}

7 Respostas

Andre_Brito

Opa.

Primeiramente, coloque o código usando as tags code.

São só 2 números digitados? Ou podem ser mais? Você conhece Collections (ou ArrayList)?
Bom, como você falou que não conhece Java muito bem, vou pressupor que não conhece ArrayList. Você conhece outra linguagem? Fazer isso em uma linguagem que você tem melhor conhecimento é mais fácil (apesar de eu ter quase certeza que vai chegar alguém com o código pronto).

Se são só 2 números e você não conhece ArrayList, você vai criar um array do tamanho da diferença do maior para o menor e preencher com os valores, a partir do menor valor.

Por exemplo, supondo que foram digitados os valores 4 e 19. Você vai ter um array de 15 posições, onde o elemento 4 está na posição 0, o 5 na posição 1 e assim por diante. Dessa forma, você não gasta tempo computacional tendo que ordenar (na verdade, você ordena implicitamente quando você faz a diferença de um valor pelo outro).

Depois disso, é só apresentar o vetor.

Abraço.

D

Bem, eu queria ou acabar com esse código ou uma forma mais simples
Acho que sse alguem apresentar esse codigo já feito não muda muito e ajuda-me na mesma a perceber o forma, que já estou a botar fumo para o conseguir acabar :lol:

Estou a iniciar em java e Vb (que acho mais facil)

Andre Brito, eu queria como voce disse, o utilizador ou o programa sozinho insere um intervalo por exemplo 0 e 100…e ele imprime os numeros por ordem crescente 0, 1, 2, 3, 4 etc

Andre_Brito

Opa.

Na verdade, me equivoquei. Você não precisa nem fazer o array.

Você tem dois valores, certo? Enquanto o menor não for igual ao maior, você apresenta ele e incrementa (ou seja, o menor recebe ele mesmo somado a 1).

Mais que isso, é só o código. Vai contra a minha ética entregar o código pra ti, mas é só você ler atentamente o que falei agora. É o algoritmo.

Abraço.

D

Bem, já estava a ver como fazer por array e arranjei uma boa explicação.

Eu acho que isto é simples…como se ele gera-se numeros de 0 a 100 e os ordena-se ou melhor…os imprimi-se todos

mas não tou chegando lá, o simples torna-se dificil :S

se eu tiver que mudar o meu código…só queria memso uma luzinha de como começar

desde já, agradeço pela disponibildade

Andre_Brito

Você tem dois números: maior e menor (independente de como você conseguiu eles).
Enquanto o menor não for igual o maior, você imprime o menor e incrementa ele.

Abraço.

D
public static void main(String[] args) {
     int[] valores = new int[5];

// inicializa os elementos do array
valores[0] = 1;
valores[1] = 3;
valores[2] = 5;
valores[3] = 4;
valores[4] = 2;

// ordena os valores
Arrays.sort(valores);

// exibe os valores dos elementos do array
// usando o laço for melhorado
for(int valor : valores){
  System.out.println(valor);
}

System.exit(0);

}

Bem verifiquei num topico essa explicação, e até fiquei mais perto do que quero…

Coloco os valores por exemplo 0 a 5 e depois o utilizador a meter por exemplo o 5 e o 2 , ele ordena 2, 3, 5
Acho que me dá menos rabalho assim e fica mais simples de entender…agora vou ver se consigo acabar :wink:

D

já fiz ;D

brigadão, Andre Brito !

Criado 2 de janeiro de 2009
Ultima resposta 2 de jan. de 2009
Respostas 7
Participantes 2