当前位置: 首页 > 面试题库 >

我为它赋值后,变量仍然为null

斜烈
2023-03-14
问题内容
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);

}

}

问题答案:

你应该改变这个

idc = Id_cliente;

Id_cliente = idc;.

您正在为方法参数而不是字段分配值。同样适用于构造函数中的所有参数Cliente



 类似资料:
  • 输出为“假”,但为什么?我将<code>truetruevs什么时候合适? 编辑:一些用户提到我应该看到错误,但我没有。我在PowerShell 2.0(Windows 7)和PowerShell 4.0(Windows 8.1)中都尝试过。和确实像我说的那样更改了COM属性。 编辑:事实证明,我们将< code>true赋给了COM属性,但它们实际上收到了false。我们的路径中有gnuwin3

  • 通过函数构造函数创建变量时它们似乎被声明为VAL。由于VAL不能重新赋值(出于某些原因,我需要这样做),我想知道是否有办法在函数之前的一行代码中将变量声明为var,然后通过函数赋值。 请记住,我昨天才开始学习静态编程语言。我对所有替代方案都持开放态度。 公共趣味单打(enemyhealth:Int,enemyattack:Int,enemyname:String) 当我尝试重新分配敌人的健康时,我

  • 我正在做一个赋值,我被这个错误困住了:无法为最终变量计数赋值 到目前为止,这是我的代码... 我对java非常陌生,显然不是电脑高手,所以请尽可能用最简单的术语解释问题/解决方案。非常感谢。

  • = 赋值操作符(它的左右两边不能有空白符) 不要搞混了 = 和 -eq,-eq 是比赋值操作更高级的测试。注意:等于号(=)根据环境的不同它可能是赋值操作符也可能是一个测试操作符。 例子 4-2. 简单的变量赋值 1 #!/bin/bash 2 # 裸变量 3 4 echo 5 6 # 什么时候变量是“裸”的?比如说,变量名前面没有$? 7 #当变量被赋值

  • 在for循环中为字符串定义值时遇到问题,但我需要它保持不变,即使在循环完成后也是如此。这是我的密码: 我知道如果我给soporte在for或if中赋一个值,它会改变,但我不知道如何做,因为它只是第一次问。还有,代码真的很长。这只是一个片段,所以有些东西是不完整的。P. D.apellido_1是用户的输入,但我使用了将要运行的示例。