设置数组
Setting an array
我在 java 中的 setter 和数组有问题,我无法正确设置它。
这是 getter 和 setter。
public Movimiento[] getMov() {
return mov;
}
public void setMov(Movimiento[] mov) {
this.mov = mov;
}
这是Movimiento
(运动)
的属性
private double monto;
private int tipo;
private String operacion;
这是昆塔
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];
方法 setMove(Movimiento[])
int 类型 Cuenta
不适用于参数 (Movimiento
)
我被困在这个问题上,找不到解决方案。
您必须收到 Movimento 数组[],但您没有初始化 Movimiento 数组
我明白你想做什么。您想要将单个 Movimiento
对象设置到 Movimiento[] mov
数组中的特定位置并检索它,但目前您在 setMov()
中拥有的只是更新 mov
变量新数组对象。
像这样更新您的 setMov()
:
public void setMov(Movimiento mov, int position) {
this.mov[position] = mov;
}
并且您的 getMov()
也应该指定一个位置以从您的 mov
数组
中检索单个 Movimiento
对象
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 Movimiento(monto,tipo,operacion))
从根本上来说是错误的,因为您将 Movimiento
的一个实例传递给 setMov()
,它期望 Movimiento[]
的一个实例。
cuentas[ncuenta].setMov(new Movimiento(monto,tipo,operacion))
不会 return 数组引用。因为 setMov()
是 void
.
看来你混淆了setter的概念。请记住 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.
再次注意 在实际尝试之前,阅读本 SO answer.
中 Java 中的 getter 和 setter
我在 java 中的 setter 和数组有问题,我无法正确设置它。
这是 getter 和 setter。
public Movimiento[] getMov() {
return mov;
}
public void setMov(Movimiento[] mov) {
this.mov = mov;
}
这是Movimiento
(运动)
private double monto;
private int tipo;
private String operacion;
这是昆塔
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];
方法 setMove(Movimiento[])
int 类型 Cuenta
不适用于参数 (Movimiento
)
我被困在这个问题上,找不到解决方案。
您必须收到 Movimento 数组[],但您没有初始化 Movimiento 数组
我明白你想做什么。您想要将单个 Movimiento
对象设置到 Movimiento[] mov
数组中的特定位置并检索它,但目前您在 setMov()
中拥有的只是更新 mov
变量新数组对象。
像这样更新您的 setMov()
:
public void setMov(Movimiento mov, int position) {
this.mov[position] = mov;
}
并且您的 getMov()
也应该指定一个位置以从您的 mov
数组
Movimiento
对象
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 Movimiento(monto,tipo,operacion))
从根本上来说是错误的,因为您将Movimiento
的一个实例传递给setMov()
,它期望Movimiento[]
的一个实例。cuentas[ncuenta].setMov(new Movimiento(monto,tipo,operacion))
不会 return 数组引用。因为setMov()
是void
.
看来你混淆了setter的概念。请记住 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.
再次注意 在实际尝试之前,阅读本 SO answer.
中 Java 中的 getter 和 setter