java—使用for each循环arraylist不会产生任何效果

3phpmpom  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(368)

首先,对不起英语不好-
我想从“ventas”移到“historico”只有那些具有samen代码的对象,而不是“clientes”中的“codcli”,这是我的代码:

public static void Eliminar_Cliente(){

        System.out.println("Que cliente quieres eliminar? (Introduce el código de cliente)");
        int cliE=(sc.nextInt()-1);

        Cliente clienteBuscado=null;

        for (Cliente cliente : cli) {
            if(cliente.codCli==cliE) clienteBuscado=cliente;
        }

        if(clienteBuscado!=null)
        {
          ArrayList<Ventas> ventaAux=new ArrayList();

          for (Ventas venta : vent) {   
              System.out.println("asddsa");
              if (venta.cliente==clienteBuscado.codCli){
                  Historico h = new Historico(venta);
                  his.add(h);
                  ventaAux.add(venta);
              }
          }

          if(!ventaAux.isEmpty())
          {
              for (Ventas ventas : ventaAux) {
                  vent.remove(ventas);
              }
          }

        }

    }

但输出是绝对没有,它甚至没有进入文塔斯'为每个循环。
有什么帮助吗?

aiqt4smr

aiqt4smr1#

更有可能的是
Collection vent 是空的。确保在调用之前正确填充集合 Eliminar_Cliente .
如果 clienteBuscadonull 这个 if 语句块 for 调用的循环将永远不会被输入->确保 clienteBuscado 指定了一个值。
更重要的是要确保你真的在调用 Eliminar_Cliente .
旁白:例如,java命名约定对方法名使用camelcase eliminarCliente

相关问题