1
I’m having a problem creating some threads:
The mistake is:
"The method Actualizprodutorunnable(Affiliate, List, Arraylist) is Undefined for the type Home"
in Main Class:
for (Filial filial : listaFiliais) {
Thread threads = new Thread(AtualizaProdutoRunnable(filial, listaProduto, listaVendas));
threads.start();
}
in the Present class:
package negocio;
import java.util.ArrayList;
import java.util.List;
public class AtualizaProdutoRunnable implements Runnable {
private Filial filial;
private List<Produto> listaProduto = new ArrayList<Produto>();
private ArrayList<Venda> listaVenda = new ArrayList<Venda>();
public AtualizaProdutoRunnable(Filial filial, List<Produto> listaProduto, ArrayList<Venda> listaVendas) {
super();
this.filial = filial;
this.listaProduto = listaProduto;
this.listaVenda = listaVendas;
}
@Override
public void run() {
for (Venda venda : listaVenda) {
if (venda.getFilial().getCodigo() == filial.getCodigo()) {
Produto produtoVenda = venda.getProduto();
for (Produto produto : listaProduto) {
if (produtoVenda.getCodigo() == produto.getCodigo()) {
if (produto.getQuantidade_estoque() - 1 >= produto.getQuantidade_minima()) {
produto.setQuantidade_estoque(produto.getQuantidade_estoque() - 1);
System.out.println("Produto: " + produto.getNome() + " da filial " + filial.getNome() +" da venda "+ venda.getCodigo() + " Foi decrementado!");
}
}
}
}
}
}
}
Can someone explain to me what I have to do?
Add the code of the class where the method is
AtualizaProdutoRunnable
.– user28595
But wait,
AtualizaProdutoRunnable
in your code does not implementRunnable
, not only put in the name and ready, you have to meet the "contract" interface, which in this case is implement the methodrun
.new
there, the same error message says thatAtualizaProdutoRunnable
is being recognized as method and not object:Thread threads = new Thread(AtualizaProdutoRunnable(filial, listaProduto, listaVendas));
– taq
Missing one
new
beforeAtualizaProdutoRunnable
:new Thread(new AtualizaProdutoRunnable(...))
.– Renan Gomes
@Renan I’m feeling like an idiot, thank you very much
– Luiz Claudio
@Taq guy I’m really ashamed of my mistake having been something so small so thank you so much for your time
– Luiz Claudio
Gives nothing. :-)
– taq