Como encontrar um menor valor em uma lista pelo netBeans

6 respostas Resolvido
androidjavaprogramação
Bleno07

Boa tarde pessoal! Estou com uma dúvida em exercício de como criar uma lista para descobrir os menores valores pela estrutura while. Exemplo: tenho que fazer uma lista, contendo o botão calcular, na hora que eu aperta esse botão da os números menores daquele. ex: digito 8, o programa tem que me dar os números menores daquele número em ordem crescente, tipo: 1,2,3,4,5,6,7,8.

tentei fazer isso daqui     int numero = Integer.parseInt(jTNum.getText());

int cont = 0;

int menor = 0;
while (cont <= 0){
    lista.addElement(cont + "" +menor);
    cont++;
}
jLResultado.setModel(lista);

mas não saiu nada, esta incompleto. não sei para onde ir.

6 Respostas

staroski
StringBuilder texto = new StringBuilder();
int ate = Integer.parseInt(jTNum.getText());
for (int de = 1, de <= ate; de++) {
    if (de > 1) {
        texto.append(", ");
    }
    texto.append(de);
}
jLResultado.setText(texto.toString());
Bleno07

ainda não estou utilizando a estrutura for.

primeiro eu tinha feito uma tabuada nesse estilo:

int numero = Integer.parseInt(jTNum.getText());
int cont = 1;
int total;

while (cont <=10){
    total = cont * numero;
    lista.addElement(cont + " X " + numero + " = " +total);
    cont++;
}

jLResultado.setModel(lista);

para cada numero multiplicado por 10, e deu certo.

porém agora estou tentando fazer pra achar o menor valor e não estou conseguindo.

staroski

Considerando que o laço for tem a seguinte sintaxe:

for ( <inicialização> ; <condição> ; <incremento> ) {
    <código-a-ser-repetido>
}

Você pode implementar o mesmo comportamento utilizando o laço while:

<inicialização>
while ( <condição> ) {
    <código-a-ser-repetido>
    <incremento>
}

Então é só reescrever o código anterior, dessa forma:

StringBuilder texto = new StringBuilder();
int ate = Integer.parseInt(jTNum.getText());
int de = 1;
while (de <= ate) {
    if (de > 1) {
        texto.append(", ");
    }
    texto.append(de);
    de++;
}
jLResultado.setText(texto.toString());
Bleno07
int numero = Integer.parseInt(jTNum.getText());
int cont = 1;

while(cont <= numero){
    if (cont > 1){
lista.addElement(cont);
cont++;
    }
}

jLResultado.setModel(lista);

assim?

Rodrigomarden
Solucao aceita

Não, isso ai vai dar errado.
Se você quer fazer sem utilizar o String builder e adicionar cada valor a sua lista, tire o if.

int numero = Integer.parseInt(jTNum.getText());
int cont = 1;

while(cont <= numero){
          lista.addElement(cont);
          cont++;
}

jLResultado.setModel(lista);
Bleno07

Ótimo cara, agora deu certo, me ajudou bastante, obrigado a todos.

Criado 12 de agosto de 2019
Ultima resposta 12 de ago. de 2019
Respostas 6
Participantes 3