我的java中的setter和数组有问题,我无法正确设置。
这是吸气剂和制定者。
fuzzylite/fuzzylite/fl/
这是public Movimiento[] getMov() {
return mov;
}
public void setMov(Movimiento[] mov) {
this.mov = mov;
}
(移动)
Movimiento
这是Cuenta
private double monto;
private int tipo;
private String operacion;
也许我做错了什么,我试着像这样设置它(以及其他方式)不起作用。
我想将对象设置为位置[0]
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;
}
cuentas[ncuenta].setMov(new Movimiento(monto,tipo,operacion))[0];
类型的方法setMove(Movimiento[])
不适用于参数(Cuenta
)
我坚持这个,我无法找到解决方案。
答案 0 :(得分:0)
我明白你要做什么。您希望将单个Movimiento
对象设置为Movimiento[] mov
数组中的特定位置并进行检索,但目前您在setMov()
中所拥有的只更新mov
变量新的数组对象。
像这样更新你的setMov()
:
public void setMov(Movimiento mov, int position) {
this.mov[position] = mov;
}
并且您的getMov()
也应该指定一个位置,以从Movimiento
数组中检索单个mov
对象
public Movimiento getMov(int position) {
return this.mov[position];
}
现在您可以轻松设置和检索项目。
cuentas[ncuenta].setMov(new Movimento(mono,tipo, operacion), position);
cuentas[ncuenta].getMov(position);
答案 1 :(得分:0)
两个主要问题。
cuentas[ncuenta].setMov(new Movimiento(monto,tipo,operacion))
从根本上说是错误的,因为您要将Movimiento
的实例传递给setMov()
,这需要Movimiento[]
的实例。
cuentas[ncuenta].setMov(new Movimiento(monto,tipo,operacion))
不会返回数组引用。因为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。
答案 2 :(得分:-1)
你必须收到一个Movimento []数组,但你没有初始化一个Movimiento数组