amigo posta o código inteiro para eu dar uma olha da onde vc declara inicio
R
renanidc
Tah ai embaixo a classe lista, onde eu declaro inicio:
publicclasslista{privatenoinicio;publiclista(){inicio=newno();}publicnobusca(intcodigo){nop;p=inicio;while(p.getProx()!=null){if(p.getCodigo()==codigo){returnp;}p=p.getProx();}returnnull;}publicintinserir(intcodigo,Stringnome,intqtd,doublepreco,intn){nop,ant,novo;p=inicio;ant=inicio;while(p.getProx()!=null&&p.getCodigo()<codigo){if(p.getCodigo()==codigo){System.out.println("Erro ao inserir o produto "+codigo+".");returnn;}ant=p;p=p.getProx();}novo=newno();novo.setCodigo(codigo);novo.setNome(nome);novo.setQtd(qtd);novo.setPreco(preco);//insercao no inicioif(p==ant){p.setProx(novo);System.out.println("Produto "+codigo+" inserido com sucesso!");returnn+1;}//insercao no final if(p.getProx()==null){p.setProx(novo);System.out.println("Produto "+codigo+" inserido com sucesso!");returnn+1;}//insercao no meio novo.setProx(p);ant.setProx(novo);System.out.println("Produto "+codigo+" inserido com sucesso!");returnn+1;}
cara só uma coisa para ajudar a organizar seu código seria legal nomear as variáveis e nome de classe sempre com letra maiúscula
descobri o erro é por que você esta comparando p.getCodigo() < codigo
assim ele compara com o numero abaixo do código passado por parâmetro co coreto seria você usar assim