Java 设置数组

Java 设置数组,java,arrays,setter,Java,Arrays,Setter,我对java中的setter和数组有问题,我无法正确设置 这是接球手和二传手 public Movimiento[] getMov() { return mov; } public void setMov(Movimiento[] mov) { this.mov = mov; } 这是moviminto(移动)的属性 我是昆塔 public class Cuenta { final static int MAXC = 5; final static int M

我对java中的setter和数组有问题,我无法正确设置

这是接球手和二传手

public Movimiento[] getMov() {
    return mov;
}

public void setMov(Movimiento[] mov) {
    this.mov = mov;
}
这是
moviminto
(移动)的属性

我是昆塔

public class Cuenta {
    final static int MAXC = 5;
    final static int MAXmov = 10;
    private double monto = 0;
    private Movimiento mov[] = new Movimiento [MAXmov];
    private int ncuenta[] = new int [MAXC];
    private Cliente clientes[] = new Cliente[MAXC];

    public Cuenta(Cliente[] clientes) {
        this.clientes = clientes;
    }

    public double getMonto() {
        return monto;
    }


    public void setMonto(double monto) {
        this.monto = monto;
    }

    public Movimiento[] getMov() {
        return mov;
    }

    public void setMov(Movimiento[] mov) {
        this.mov = mov;
    }
也许我做错了什么,我试着这样设置,但它(和其他方式)不起作用

我想将对象设置到位置[0]

cuentas[ncuenta].setMov(new Movimiento(monto,tipo,operacion))[0];
类型
Cuenta
中的方法
setMove(moviminento[])
不适用于参数(
moviminento

我被这个问题困住了,我找不到解决办法。

你必须收到一个Movimento[]数组,但你没有初始化Movimento[]数组,你必须收到一个Movimento[]数组,但你没有初始化Movimento[/p>我明白你想做什么。您希望将单个
moviminto
对象设置到
moviminto[]mov
数组中的特定位置并检索它,但当前
setMov()
中的对象仅使用新数组对象更新
mov
变量

像这样更新您的
setMov()

public void setMov(Movimiento mov, int position) {
    this.mov[position] = mov;
}
您的
getMov()
还应该指定一个位置,以便从
mov
数组中检索单个
moviminto
对象

public Movimiento getMov(int position) {
    return this.mov[position];
}
现在,您可以轻松地设置和检索项目

cuentas[ncuenta].setMov(new Movimento(mono,tipo, operacion), position);
cuentas[ncuenta].getMov(position);

我明白你想做什么。您希望将单个
moviminto
对象设置到
moviminto[]mov
数组中的特定位置并检索它,但当前
setMov()
中的对象仅使用新数组对象更新
mov
变量

像这样更新您的
setMov()

public void setMov(Movimiento mov, int position) {
    this.mov[position] = mov;
}
您的
getMov()
还应该指定一个位置,以便从
mov
数组中检索单个
moviminto
对象

public Movimiento getMov(int position) {
    return this.mov[position];
}
现在,您可以轻松地设置和检索项目

cuentas[ncuenta].setMov(new Movimento(mono,tipo, operacion), position);
cuentas[ncuenta].getMov(position);
两大问题

  • cuentas[ncuenta].setMov(new moviminto(monto,tipo,operacion))
    是根本错误的,因为您正在将
    moviminto
    的实例传递给
    setMov()
    ,而setMov()需要
    moviminto[]
    的实例

  • cuentas[ncuenta].setMov(新的moviminto(monto,tipo,operacion))
    不会返回数组引用。因为
    setMov()
    void

  • 似乎你混淆了二传手的概念。请记住
    setMov()
    仅将数组引用设置为变量。你不能用它来设置数组的索引

    如何纠正?关于这一点,我们不能说什么,因为情况和你的问题都不清楚。例如,您没有提到这篇
    cuentas[ncuenta]
    是关于什么的。假设
    cuentas[ncuenta]
    引用了
    Cuenta
    的一个实例,您需要为数组的索引赋值,我建议如下

    cuentas[ncuenta].setMov(new Movimiento[10]); // A new array of type Movimiento
    cuentas[ncuenta].getMov()[0] = new Movimiento(monto,tipo,operacion); // Extract the reference of 0th index of the array and assign the value needed.
    
    再次注意在实际尝试此方法之前,请阅读本文中有关Java中的getter和setter的内容。

    两个主要问题

  • cuentas[ncuenta].setMov(new moviminto(monto,tipo,operacion))
    是根本错误的,因为您正在将
    moviminto
    的实例传递给
    setMov()
    ,而setMov()需要
    moviminto[]
    的实例

  • cuentas[ncuenta].setMov(新的moviminto(monto,tipo,operacion))
    不会返回数组引用。因为
    setMov()
    void

  • 似乎你混淆了二传手的概念。请记住
    setMov()
    仅将数组引用设置为变量。你不能用它来设置数组的索引

    如何纠正?关于这一点,我们不能说什么,因为情况和你的问题都不清楚。例如,您没有提到这篇
    cuentas[ncuenta]
    是关于什么的。假设
    cuentas[ncuenta]
    引用了
    Cuenta
    的一个实例,您需要为数组的索引赋值,我建议如下

    cuentas[ncuenta].setMov(new Movimiento[10]); // A new array of type Movimiento
    cuentas[ncuenta].getMov()[0] = new Movimiento(monto,tipo,operacion); // Extract the reference of 0th index of the array and assign the value needed.
    

    再次注意在实际尝试之前,请阅读本文中有关Java中的getter和setter的内容。

    不要将语言放在标题中,将其作为标记添加,就像我刚才为您所做的那样。这里的许多人都会在标签上过滤问题,如果你没有指定正确的标签,可能会有人甚至懒得帮你阅读你的问题。什么是
    cuentas
    声明的?你真正想做什么,因为你错过了很多定义
    cuentas[ncuenta].setMov(新的moviminto(monto,tipo,operacion))
    不返回数组对象。所以
    cuentas[ncuenta].setMov(new moviminto(monto,tipo,operacion))[0]
    将是错误的。不要将语言放在标题中,将其作为标记添加,就像我刚才为您做的那样。这里的许多人都会在标签上过滤问题,如果你没有指定正确的标签,可能会有人甚至懒得帮你阅读你的问题。什么是
    cuentas
    声明的?你真正想做什么,因为你错过了很多定义
    cuentas[ncuenta].setMov(新的moviminto(monto,tipo,operacion))
    不返回数组对象。因此
    cuentas[ncuenta].setMov(新的moviminto(蒙托、蒂波、操作))[0]
    将是错误的。。