我的打印方法返回空值

时间:2020-01-03 17:58:29

标签: java arrays class printing

因此,我为包含该类属性的列表创建了一个具有add和print方法的类,但是一旦我在程序类上运行它们,则在我打印它们时会向我返回空值,有人可以帮我吗? / p>

package entidades;
import java.util.*;

public class Profissional extends UnidadeSaude {
    private String categoriaP;
    private String nomeP;


    public Profissional(String nomeUnidade,String categoriaP, String nomeP) {
        super(nomeUnidade);
        this.categoriaP = categoriaP;
        this.nomeP = nomeP;     
    }   
    public Profissional() {
        // TODO Auto-generated constructor stub
    }
    public Profissional(String categoriaP2, String nomeP2) {

    }
    @Override
    public String toString() {
        return "Profissional [categoriaP=" + categoriaP + ", nomeP=" + nomeP + "]";
    } 
    public String getcategoriaP() {
        return categoriaP;
    }
    public void setcategoriaP(String categoriaP) {
        this.categoriaP = categoriaP;
    }
    public String getnomeP() {
        return nomeP;
    }
    public void setnomeP(String nomeP) {
        this.nomeP = nomeP;
    }
    public void RegistarProfissional(List<Profissional>rProfissional, String categoriaP,String nomeP) {
        rProfissional.add(new Profissional(categoriaP, nomeP));
    }
    public void ListarProfssional(List<Profissional>rProfissional) {
            System.out.println(rProfissional);
        }

    }

程序代码是这样的: Program code

5 个答案:

答案 0 :(得分:1)

调用RegistarProfissional时,您正在创建一个新的Professional并使用Profissional(String categoriaP2, String nomeP2)构造函数来实现(通过传入categoriaP, nomeP的2个构造函数参数。问题是您用来创建Professional的构造函数没有设置您要打印的字段。

要解决此问题,您应该更新构造函数:

public Profissional(String categoriaP2, String nomeP2) {
    this.categoriaP = categoriaP2;
    this.nomeP = nomeP2; 
}

答案 1 :(得分:1)

所以基本上,我在我的两个参数构造函数中设置了值,否则它们像alea所说的那样保持为空。 现在可以了,谢谢。

答案 2 :(得分:0)

您没有在两个参数的构造函数中设置任何值。您应该以任何方式设置这些值,否则它们将保持为空。

public Profissional(String categoriaP2, String nomeP2) {
    this(null, categoriaP2, nomeP2);
}

答案 3 :(得分:0)

您在RegistarProfissional方法中使用了错误的构造函数。像这样改变施工人员,它将起作用。

public Profissional(String nomeUnidade,String categoriaP, String nomeP) {
    super(nomeUnidade);
    this.categoriaP = categoriaP;
    this.nomeP = nomeP;     
}   
public Profissional() {
    // TODO Auto-generated constructor stub
}
public Profissional(String categoriaP2, String nomeP2) {
    super(null);
    this.categoriaP = categoriaP;
    this.nomeP = nomeP;
}

答案 4 :(得分:-1)

在“ RegisterProfessional”中使用的构造函数为空。所以值。

public Profissional(String categoriaP2, String nomeP2) {
   this(null, categoriaP2, nomeP2);
}