[Resolvido] Sintaxe de orientação a objetos

4 respostas
R

E ae pessoal, beleza?

Estou com um problema na sintaxe do código abaixo, sou novo em orientação a objetos.

public void inserir (int codigo){         
        no q=inicio, aux=q;
        
        while(q.getProx()!=null){             
            if(q.getCodigo()>codigo){
                aux.setProx=(q.getProx());           
            }else{
                aux=q;
                q=q.getProx();
            }
            
        }        
        
    }

O problema está nessa linha: aux.setProx=(q.getProx())

O objetivo do código é fazer a inserção ordenada numa lista encadeada, o código não está pronto e deve ter alguma problema com a lógica ainda. rsrs

Então como devo escreve a linha acima, citada no problema.

4 Respostas

E
aux.setProx=(q.getProx());

O sinal de “=” está sobrando…

R

corrigi o sinal de igual, agora o netbeans grifa a linha de vermelho e mostra a seguinte mensagem:

method setProx in class no cannot be applied to given types;
required: no arguments
found: no
reason: actual and formal arguments lists differ in length

Segue a abaixo a minha classe no:

public class no { 
    private int codigo;
    private String nome;
    private int qtd;
    private double preco;
    private no ant;
    private no prox;
    
    public int getCodigo(){
    return codigo;
}    
    public no getAnt (){
        return ant;
    }
    public no getProx(){
        return prox;
    }
    public void setCodigo (){
        
    }
    public void setAnt (){
        this.ant=ant;        
    }
    public void setProx (){
        this.prox=prox;        
    }
        
    }

Qual o problema?

Desde já agradeço as respostas. :slight_smile:

S

Você declarou que o metodo setProx() não deve receber nenhum parametro mas quando você o chama você passa um parametro.

Acredito que tenha sido falta de atenção.

Coloque o parametro correto na declaração do metodo setProx().

Acredito que seja:

public void setProx(no prox) { //implementacao }

Obs: Nome de classe sempre em maiusculo.

R

Valew pessoal, funcionou \o/

Retirei o sinal de igual que estava sobrando, e passei o parâmetro para o método setProx().

Obrigado pela ajuda. :smiley:

Criado 5 de março de 2013
Ultima resposta 6 de mar. de 2013
Respostas 4
Participantes 3