【问题标题】:Adding already created objects to my Java Array将已创建的对象添加到我的 Java 数组
【发布时间】:2016-09-26 04:51:15
【问题描述】:

我从 Medicos 类创建了 5 个对象,从 Enfermeras 类创建了 5 个对象,我如何将这些已经创建的元素添加到数组中?

数组类:

public class Metodos {

    private Medicos [] ListaM = new Medicos [5];
    private Enfermeras [] ListaE = new Enfermeras [5];
    private Clinica [][] datos = new Clinica [12][30];

    public Metodos(){
        ListaM[0] = Medicos() = Medico1; 
    }
}

Medicos 类:

public class Medicos {

    private String Nombre;
    private long DPI;
    private String NIT; 
    private boolean Especialista; 
    private int nColegiado;
    private int salario; 

    public Medicos(String Nombre, long DPI, String NIT, boolean Especialista, 
            int nColegiado, int salario){ 
        this.Nombre=Nombre;
        this.DPI = DPI; 
        this.NIT = NIT ; 
        this.Especialista = Especialista; 
        this.nColegiado = nColegiado; 
        this.salario = salario; 
    }

    public String getNombre() {
        return Nombre;
    }
    public void setNombre(String nombre) {
        Nombre = nombre;
    }
    public long getDPI() {
        return DPI;
    }
    public void setDPI(long dPI) {
        DPI = dPI;
    }
    public String getNIT() {
        return NIT;
    }
    public void setNIT(String nIT) {
        NIT = nIT;
    }
    public boolean isEspecialista() {
        return Especialista;
    }
    public void setEspecialista(boolean especialista) {
        Especialista = especialista;
    }
    public int getnColegiado() {
        return nColegiado;
    }
    public void setnColegiado(int nColegiado) {
        this.nColegiado = nColegiado;
    }
    public int getSalario() {
        return salario;
    }
    public void setSalario(int salario) {
        this.salario = salario;
    }

    Medicos Medico1 = new Medicos("Juan Pérez", 1234567870101L, "6799652-3", true, 
            89098, 15000);

    Medicos Medico2 = new Medicos("Luis Gutiérrez", 9876543260101L, "8964547-3", false, 
            98554, 12000);

    Medicos Medico3 = new Medicos("Eduardo González", 5642871750101L, "8786456-6", true, 
            5653, 17000);

    Medicos Medico4 = new Medicos("Guadalupe Torres", 4562973920101L, "6799652-3", true, 
             10098, 17000);

    Medicos Medico5 = new Medicos("María Castillo", 569395290101L, "8765485-7", false, 
             67965, 13000);
} 

Enfermeras 类:

public class Enfermeras {

    private String Nombre;
    private long DPI;
    private String NIT; 
    private boolean Intensivista; 
    private int experiencia;
    private int salario; 

    public Enfermeras(String Nombre, long DPI, String NIT, boolean Intensivista, 
            int experiencia, int salario){ 
        this.Nombre=Nombre;
        this.DPI = DPI; 
        this.NIT = NIT; 
        this.Intensivista = Intensivista; 
        this.experiencia = experiencia; 
        this.salario = salario; 
    }

    public String getNombre() {
        return Nombre;
    }
    public void setNombre(String nombre) {
        Nombre = nombre;
    }
    public long getDPI() {
        return DPI;
    }
    public void setDPI(int dPI) {
        DPI = dPI;
    }
    public String getNIT() {
        return NIT;
    }
    public void setNIT(String nIT) {
        NIT = nIT;
    }
    public boolean isIntensivista() {
        return Intensivista;
    }
    public void setIntensivista(boolean intensivista) {
        Intensivista = intensivista;
    }
    public int getExperiencia() {
        return experiencia;
    }
    public void setExperiencia(int experiencia) {
        this.experiencia = experiencia;
    }
    public int getSalario() {
        return salario;
    }
    public void setSalario(int salario) {
        this.salario = salario;
    }

    Enfermeras Enfermera1 = new Enfermeras("Juana Lopez", 5643213450101L, "563269-K", false, 
            2, 6000);

    Enfermeras Enfermera2 = new Enfermeras("Lidia Mendez", 1246547850101L ,  "7654376-6" , true, 
            2, 9000);

    Enfermeras Enfermera3 = new Enfermeras("Miriam García", 6547854370101L, "9876456-8" , false, 
            14, 8000);

    Enfermeras Enfermera4 = new Enfermeras("Lorna Suarez", 569374160101L, "4567865-8" , true, 
            12, 10000 );

    Enfermeras Enfermera5 = new Enfermeras("Mariela Rodríguez",3254786540101L, "6789654-8" , false, 
            2, 8000 );
} 

我真的迷路了,似乎找不到正确的答案,非常感谢您的帮助。

【问题讨论】:

    标签: java arrays eclipse matrix


    【解决方案1】:

    首先,您需要遵循 Java 命名约定,将变量名保持为驼峰式。

    其次,将对象添加到数组中只是将其分配给数组的每个元素,例如,

    ListaM[0] = Medico1;
    
    ListaM[1] = Medico2;
    

    等等

    【讨论】:

      【解决方案2】:

      Medico1,Medico2 ... 被清除为默认字段,而不是静态字段,因此您需要通过其类的实例来访问它。
      如果你想把两种不同类型的对象放到一个数组中,你需要把数组作为它们的超类,比如Object

              Object[] objs = new Object[10];
              Medicos medicos = new Medicos("",0,"",false,0,0);
              objs[0] = medicos.Medico1;
              objs[1] = medicos.Medico2;
              ...
              Enfermeras enf = new Enfermeras("",0,"",false,0,0);
              objs[5] = enf.Enfermera1;
              ...
      

      【讨论】:

        【解决方案3】:

        有很多方法可以做到这一点。一种方法是让您的数组在 Metodos 类中为公共静态的。

        因此,您可以从 Medicos / Enfermeras 类中简单地将对象分配到 Metodos 类中的数组中。

        例如对于 Metodos 类 改变这个

        private Medicos [] ListaM = new Medicos [5];
        

        public static Medicos [] ListaM = new Medicos [5];
        

        例如对于Medicos类

        Medicos Medico1 = new Medicos("Juan Pérez", 1234567870101L, "6799652-3", true, 
                            89098, 15000);
        
        // After Creating the object, assign it        
        Metodos.ListaM[0] =  Medico1 ;
        

        另一种方法是,您应该只从 Metodos 类本身创建对象。

        例如在 Metodos 类中。

         public Metodos(){
              Medicos Medico1 = new Medicos("Juan Pérez", 1234567870101L, "6799652-3", true, 
                        89098, 15000);
                    ListaM[0] = Medico1 ; 
                }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-04-18
          • 1970-01-01
          • 2017-08-20
          • 2013-12-13
          • 1970-01-01
          • 2016-11-10
          • 2019-08-07
          • 1970-01-01
          相关资源
          最近更新 更多