Java 设置数组
我对java中的setter和数组有问题,我无法正确设置 这是接球手和二传手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
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]
将是错误的。。