Java arraylist方法显示所有帐户不';行不通

Java arraylist方法显示所有帐户不';行不通,java,arraylist,methods,Java,Arraylist,Methods,嗯,我正在尝试将一个数组更改为arraylist,创建帐户似乎正在工作,但“show accounts”方法不断返回没有帐户注册的消息。 这是addaccount方法(注释是原始数组) //Metodo para agregar Cuentas 公共空地(Cuenta c){ ArrayList cuentas=新的ArrayList(); 添加(c); /* Cuenta aux[]=新Cuenta[Cuenta.长度+1]; 系统阵列副本(cuentas,0,aux,0,cuentas.le

嗯,我正在尝试将一个数组更改为arraylist,创建帐户似乎正在工作,但“show accounts”方法不断返回没有帐户注册的消息。 这是addaccount方法(注释是原始数组)

//Metodo para agregar Cuentas
公共空地(Cuenta c){
ArrayList cuentas=新的ArrayList();
添加(c);
/*
Cuenta aux[]=新Cuenta[Cuenta.长度+1];
系统阵列副本(cuentas,0,aux,0,cuentas.length);
辅助[辅助长度-1]=c;
cuentas=aux;
*/
}
这就是show accounts方法

public static void mostrarAhorro()
    {
        ArrayList<Cuenta> cuentas = new ArrayList<Cuenta>();
        //Si no hay cuentas en el arreglo, nos muestra el siguiente error
        if (cuentas.size() == 0)
        {
            System.out.println("No hay cuentas registradas.");
            return;
        }



        System.out.println("****Lista de cuentas de ahorro****");
        //For  para mostrar todas las cuentas de ahorro
        for (int i = 0; i<cuentas.size();i++) {

            if (cuentas.get(i) instanceof CuentaAhorros)
            {

                System.out.println("Id de cuenta: " + (i+1) +"\n"+ cuentas);
            }


        }

    }
publicstaticvoidmostrarahorro()
{
ArrayList cuentas=新的ArrayList();
//没有任何迹象表明存在错误
if(cuentas.size()==0)
{
System.out.println(“无hay cuentas registradas.”);
返回;
}
System.out.println(“*****Lista de cuentas de ahorro****”);
//对于阿霍罗的莫斯特拉·托达斯·拉斯昆塔斯(las cuentas de ahorro)

对于(int i=0;i而言,问题是,每次调用mostrarAhorro方法,甚至每次调用Agregarcenta方法,都会用以下内容覆盖cuentas数组列表:

ArrayList<Cuenta> cuentas = new ArrayList<Cuenta>();
ArrayList cuentas=new ArrayList();
每次调用此函数时,它都会创建一个空数组并忽略它以前拥有的任何数据

只需创建一次,并将其作为成员变量存储在类中

ArrayList<Cuenta> cuentas = new ArrayList<Cuenta>();

   //Metodo para agregar Cuentas
public void agregarCuenta(Cuenta c){
    cuentas.add(c);

/*
Cuenta aux[] = new Cuenta[cuentas.length+1];
System.arraycopy(cuentas, 0, aux, 0, cuentas.length);
aux[aux.length-1] = c;
cuentas = aux;
*/

}

public static void mostrarAhorro()
{
    //Si no hay cuentas en el arreglo, nos muestra el siguiente error
    if (cuentas.size() == 0)
    {
        System.out.println("No hay cuentas registradas.");
        return;
    }



    System.out.println("****Lista de cuentas de ahorro****");
    //For  para mostrar todas las cuentas de ahorro
    for (int i = 0; i<cuentas.size();i++) {

        if (cuentas.get(i) instanceof CuentaAhorros)
        {

            System.out.println("Id de cuenta: " + (i+1) +"\n"+ cuentas);
        }


    }

}
ArrayList cuentas=new ArrayList();
//梅托多·帕拉格雷加·昆塔斯
公共空地(Cuenta c){
添加(c);
/*
Cuenta aux[]=新Cuenta[Cuenta.长度+1];
系统阵列副本(cuentas,0,aux,0,cuentas.length);
辅助[辅助长度-1]=c;
cuentas=aux;
*/
}
公共静态无效mostrarAhorro()
{
//没有任何迹象表明存在错误
if(cuentas.size()==0)
{
System.out.println(“无hay cuentas registradas.”);
返回;
}
System.out.println(“*****Lista de cuentas de ahorro****”);
//对于阿霍罗的莫斯特拉·托达斯·拉斯昆塔斯(las cuentas de ahorro)

对于(inti=0;i,您正在display方法中创建一个完整的新arrayList实例

如果此列表在当前运行中很常见,则可以将其声明为


private static List cuentaList=new ArrayList();

为什么每次都要创建一个新的
ArrayList
。您将需要导入该类,它不是核心
lang
包-
java.util.ArrayList
的一部分,现在我看到了它,感谢您的帮助,但当我这样做时,会出现以下错误“找不到符号类”,我已将ArrayList类似于“ArrayList cuentas=new ArrayList();”放在“public static void main”之后如果不查看代码的其余部分,则很难为您提供帮助。如果您的方法位于多个类中,您可能会看到该错误。请参阅我的编辑。您只需在类的顶部声明一次。如果此问题回答了,请将我的回答标记为已回答。
ArrayList<Cuenta> cuentas = new ArrayList<Cuenta>();
ArrayList<Cuenta> cuentas = new ArrayList<Cuenta>();

   //Metodo para agregar Cuentas
public void agregarCuenta(Cuenta c){
    cuentas.add(c);

/*
Cuenta aux[] = new Cuenta[cuentas.length+1];
System.arraycopy(cuentas, 0, aux, 0, cuentas.length);
aux[aux.length-1] = c;
cuentas = aux;
*/

}

public static void mostrarAhorro()
{
    //Si no hay cuentas en el arreglo, nos muestra el siguiente error
    if (cuentas.size() == 0)
    {
        System.out.println("No hay cuentas registradas.");
        return;
    }



    System.out.println("****Lista de cuentas de ahorro****");
    //For  para mostrar todas las cuentas de ahorro
    for (int i = 0; i<cuentas.size();i++) {

        if (cuentas.get(i) instanceof CuentaAhorros)
        {

            System.out.println("Id de cuenta: " + (i+1) +"\n"+ cuentas);
        }


    }

}
public class programa1 {

//Instanciar scanner y formato de moneda
private static Scanner sc = new Scanner(System.in);
private static DecimalFormat MONEDA = new DecimalFormat("$#,###.00");
private ArrayList<Cuenta> cuentas = new ArrayList<Cuenta>();   

//Arreglo de clases instanciada.
//private static Cuenta[] cuentas = new Cuenta[0];
//private static Movimientos [] movimientos = new Movimientos[0];

public static void main(String[] args) {
//ArrayList cuentas = new ArrayList(); 

ArrayList<Movimientos> movimientos = new ArrayList<Movimientos>();