Duvida na saida

0 respostas
N
package Revisao;

/**
 *
 * @author r094565
 */
public class Autor {

    private String nome;

    public Autor(String nome) {
        this.nome = nome;

    }

    @Override
    public boolean equals(Object obj) {
       final Autor outro=(Autor) obj;
       if(outro==null){
           return false;
       }
       if(this.nome == null){
           return this.nome==outro.nome;
       }else{
           return this.nome.equals(outro.nome);
       }
    }
}
package Revisao;

/**
 *
 * @author r094565
 */
public class Documento {

    private String titulo;
    private Autor autor;
    private boolean aprovado;

    public Documento(String titulo, Autor autor) {
        this.titulo = titulo;
        this.autor = autor;
    }

    public void revisadoPor(Autor autor) {

        if (autor.equals(this.getAutor())){
        
            this.setAprovado(false);
        }else     
        if(this.getTitulo().contains("Web")){
            this.setAprovado(true);
    }
}

    public Autor getAutor(){
        return autor;
    }
    
    public String getTitulo(){
        return titulo;
    }

    public boolean isAprovado(){
        return aprovado;
    }

    protected void setAprovado(boolean aprovado){
        this.aprovado=aprovado;
    }
}

package Revisao;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author r094565
*/
public class Artigo extends Documento {
private List referencias =new ArrayList();

public Artigo(String titulo, Autor autor){
super(titulo,autor);
}

public ListgetReferencia(){
return referencias;
}

@Override
public void revisadoPor(Autor autor){
super.revisadoPor(autor);
for(Documento ref: referencias)
if(!ref.isAprovado()){
super.setAprovado(false);
}
}

}


public class Main {

public static void main(String [] args){

Autor fields = new Autor("Harvey M. Deitel");
Autor deitel=new Autor("Duane K. Fields");
Documento art1=new Artigo("Segurança na Web",fields);
Artigo art2= new Artigo("Arquitetura Web",fields);
Artigo art3=new Artigo("Web 2.0",fields);

// art1.getReferencia().add(art2);
art3.getReferencia().add(art1);
art3.getReferencia().add(art2);
art1.revisadoPor(deitel);
art3.revisadoPor(deitel);

boolean a=false;
boolean b = true;
a =art1.isAprovado();
b= art3.isAprovado();
System.out.println(a);
System.out.println(b);

}

}

Porque o resultado dos atributo aprovado para os objetos atr1 e true e atr3 e false .

Grato

[code]

Criado 17 de março de 2009
Respostas 0
Participantes 1