Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como referenciar uma lista?

Olá pessoal!

Estou fazendo uma listinha para guardar os divisores de uma calculadora de fatoração. Até o momento, eu tenho:

MODELO


public class Modelo {
    private static double numerofatorado;

    //CONSTRUTOR
    public Modelo(int numerofatorado) {
        this.numerofatorado = numerofatorado;
    }
    //MÉTODOS
    public int fatoracao() {
        int dividido = (int) Modelo.getNumerofatorado();
        int divisores = ListaNumerosPrimos.lista;
    }

    //GETERS AND SETTERS
    public static double getNumerofatorado() {
        return numerofatorado;
    }

    public void setNumerofatorado(double numerofatorado) {
        this.numerofatorado = numerofatorado;
    }
}

NÚMEROS PRIMOS:

public class NumerosPrimos {
    private int numeroprimo;

    public NumerosPrimos(int numeroprimo){
        this.numeroprimo = numeroprimo;
    }

    //GETTERS AND SETTERS
    public int getNumeroprimo() {
        return numeroprimo;
    }

    public void setNumeroprimo(int numeroprimo) {
        this.numeroprimo = numeroprimo;
    }
}

LISTA DE NÚMEROS PRIMOS

import java.util.ArrayList;

public class ListaNumerosPrimos {

    public static void main(String[] args) {
        ArrayList<Object> lista = new ArrayList<Object>();

        NumerosPrimos n1 = new NumerosPrimos(2);
        NumerosPrimos n2 = new NumerosPrimos(3);
        NumerosPrimos n3 = new NumerosPrimos(5);
        NumerosPrimos n4 = new NumerosPrimos(7);

        lista.add(n1.getNumeroprimo());
        lista.add(n2.getNumeroprimo());
        lista.add(n3.getNumeroprimo());
        lista.add(n4.getNumeroprimo());

        for(Object numerosprimos : lista) {
            System.out.println(numerosprimos);
    }
}
}

No caso, eu quero fazer um loop, por meio de um for, e usar os valores da lista como divisores. Tentei referenciá-la em:

       int divisores = ListaNumerosPrimos.lista;

No entanto, não sei como fazer isso corretamente. Obs.: Se tiver alguma dica em relação ao código, por favor, diga! É o meu primeiro projeto Java solo.

2 respostas

ATUALIZAÇÃO 01. Em relação à lista de números primos e a criação do objeto "NUmerosPrimoes". Deletei a classe Números primos e modifiquei a lista, ficou mais eficaz:

public class ListaNumerosPrimos {
    public static void main(String[] args) {
        List<Integer> lista = new ArrayList<Integer>();
        lista.add(2);
        lista.add(3);
        lista.add(5);
        lista.add(7);
    }

}

Ainda estou com dúvida em relação a como referenciar os elementos dela para atuarem como divisores no laço for, mas aqui já dei um passo relevante!

solução!

Oi Lucas, em problemas como este eu sempre busco ler a documentação daquilo que está sendo utilizado. Principalmente quando não temos familiaridade com o assunto e estamos fazendo o primeiro projeto. Neste caso, acredito que o que você esteja procurando seja o método .get( ), que retorna o elemento em uma posição específica da lista.

Você pode encontrar a documentação com todos os métodos da interface List aqui:

https://docs.oracle.com/javase/8/docs/api/java/util/List.html

Além disso, as aulas do curso "Java e java.util: Coleções, Wrappers e Lambda expressions" podem te ajudar a obter um melhor entendimento dessa parte de listas.

Espero ter ajudado!