2
public void crearCliente() {

    int i, k, j, l;
    registro r = new registro();
    k = lr.getSize();

    for (i = 0; i < k; i++) {
        r = lr.get(i);
        l = r.getSize();

        String contenido[] = new String[8];
        for (j = 0; j < l; j++) {
            contenido[j] = r.getCampoR(j);
            //System.out.println(contenido[j]);
        }
        c1 = new Cliente(contenido[0], contenido[1], contenido[2], contenido[3], contenido[4], contenido[5], contenido[6], contenido[7]);
        c1.verCliente();}

このコードでは、最後に c1 に値を割り当てますが、それを出力すると、すべての c1 フィールドで null が取得されます。Cliente クラスのコードを書き留めます。c1 に与えたすべての値を出力したいのですが、すべてのフィールドに null を出力する理由がわかりません。デバッガーを使用してコードをたどると、すべての値を新しい変数に割り当てる文まで、すべてが正しいです。

public class Cliente {

private String Id_cliente;
private String Cod_postal;
private String Numero;
private String Calle;
private String Provincia;
private String Poblacion;
private String Telefono;
private String Apellidos;

public Cliente(String idc, String cp, String num, String cal, String prov, String pob, String tlf, String aps){

    idc = Id_cliente;
    cp = Cod_postal;
    num = Numero;
    cal = Calle;
    prov = Provincia;
    pob = Poblacion;
    tlf = Telefono;
    aps = Apellidos;

}

public void verCliente(){

   System.out.println("Id_cliente: "+ Id_cliente);
   System.out.println("Codigo postal: "+ Cod_postal);
   System.out.println("Numero: "+ Numero);
   System.out.println("Calle: "+ Calle);
   System.out.println("Provincia: "+ Provincia);
   System.out.println("Poblacion: "+ Poblacion);
   System.out.println("Telefono: "+ Telefono);
   System.out.println("Apellidos: "+ Apellidos);

}

}
4

3 に答える 3