elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Pasar datos de ArrayList entre metodos (DUDA)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pasar datos de ArrayList entre metodos (DUDA)  (Leído 2,099 veces)
MrSimpatia

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Pasar datos de ArrayList entre metodos (DUDA)
« en: 7 Octubre 2018, 15:18 pm »

Buenas! tengo una gran duda, utilize "arraylist" para crear un array dinamico, el cual obviamente crezca tanto como el usuario desee, ahora bien... Quiero pasar los datos que tenga un arraylist de un metodo a otro
Código
  1. public void Vehiculos () {
  2. int op1, n;
  3. String busca, busca2, matri, mark, model, col, cant;
  4. ArrayList <String> matricula = new ArrayList <String>();
  5. ArrayList <String> marca = new ArrayList <String>();
  6. ArrayList <String> modelo = new ArrayList <String>();
  7. ArrayList <String> color = new ArrayList <String>();
  8. ArrayList <String> cantpuertas = new ArrayList <String>();
  9. do {
  10. System.out.println("1.1- Registrar");
  11. System.out.println("1.2- Modificar");
  12. System.out.println("1.3- Eliminar");
  13. System.out.println("1.4- Listar todos");
  14. System.out.println("1.5- Buscar");
  15. System.out.println("0- Volver");
  16. System.out.print("Opcion: ");
  17. op1 = dato.nextInt();
  18. System.out.println("  ");
  19. switch (op1) {
  20. case 1:
  21. System.out.print("Cuantos vehiculos desea registrar? ");
  22. n = dato.nextInt();
  23. dato.nextLine();
  24. for (int f= 0; f<n ; f++) {
  25. System.out.println("  ");
  26. System.out.print("Matricula: ");
  27. matri = dato.nextLine();
  28. matricula.add(f, matri);
  29. ArrayList<String> matriculaclon = (ArrayList<String>) matricula.clone();
  30. System.out.print("Marca: ");
  31. mark = dato.nextLine();
  32. marca.add(f, mark);
  33. ArrayList<String> marcaclon = (ArrayList<String>) marca.clone();
  34. System.out.print("Modelo: ");
  35. model = dato.nextLine();
  36. modelo.add(f, model);
  37. ArrayList<String> modeloclon = (ArrayList<String>) modelo.clone();
  38. System.out.print("Color: ");
  39. col = dato.nextLine();
  40. color.add(f, col);
  41. ArrayList<String> colorclon = (ArrayList<String>) color.clone();
  42. System.out.print("Cantidad de puertas: ");
  43. cant = dato.nextLine();
  44. cantpuertas.add(f, cant);
  45. ArrayList<String> cantpuertasclon = (ArrayList<String>) cantpuertas.clone();
  46. }
  47. System.out.println("  ");
  48. break;
  49.  
  50. case 2:
  51.  
  52. break;
  53.  
  54. case 3:
  55. System.out.print("Matricula del que desea eliminar: ");
  56. dato.nextLine();
  57. busca2 = dato.nextLine();
  58. for (int f= 0; f<matricula.size(); f++) {
  59. if (f == matricula.indexOf(busca2)) {
  60. matricula.remove(f);
  61. marca.remove(f);
  62. modelo.remove(f);
  63. color.remove(f);
  64. cantpuertas.remove(f);
  65. }
  66. System.out.println("  ");
  67. System.out.println("  ");
  68. }
  69.  
  70.  
  71. break;
  72.  
  73. case 4:
  74. System.out.println("Listado de vehiculos:");
  75. System.out.println("-----------------------------");
  76. for (int f= 0; f<matricula.size(); f++) {
  77. System.out.println("Matricula: "+matricula.get(f)+" |Marca: "+marca.get(f)+" |Modelo: "+modelo.get(f)+" |Color: "+color.get(f)+" |Cantidad de puertas: "+cantpuertas.get(f));
  78. System.out.println(" ");
  79. System.out.println(" ");
  80. }
  81. break;
  82.  
  83. case 5:
  84. System.out.println("Matricula del vehiculo que desea buscar: ");
  85. busca = dato.next();
  86. for (int x = 0; x<matricula.size(); x++) {
  87. if (x == matricula.indexOf(busca)) {
  88. System.out.println("Matricula: "+matricula.get(x)+" Marca: "+marca.get(x)+" Modelo: "+modelo.get(x)+" Color: "+color.get(x)+" Cantidad de puertas: "+cantpuertas.get(x));
  89. System.out.println("El vehiculo se encuentra en la posicion "+(x+1));
  90. }
  91. }
  92. break;
  93.  
  94. case 0:
  95. MenuPrincipal();
  96. }
  97.  
  98. }while (op1 != 0);
Como pueden ver aqui arriba, yo creo el arraylist con diferentes nombres, y mi intencion es guardar de alguna forma, o pasar de alguna forma los datos de alguna de las array's a otro metodo el cual es este:
Código
  1. public void Alquileres () {
  2. ArrayList <String> matriclon = new ArrayList <String>(matriculaclon);
  3. int op3, z;
  4. String matri;
  5. do {
  6. System.out.println("3.1- Alquilar");
  7. System.out.println("3.2- Listar autos alquilados");
  8. System.out.println("3.3- Consultar Estado");
  9. System.out.println("0- Volver");
  10. System.out.print("Opcion: ");
  11. op3 = dato.nextInt();
  12. switch(op3) {
  13.  
  14. case 1:
  15. dato.nextLine();
  16. System.out.print("Matricula del vehiculo: ");
  17. matri = dato.nextLine();
  18. for (int f= 0; matricula.size()) {
  19.  
  20. }
  21. }
  22.  
  23. }while(op3 != 0);
Posiblemente encuentren mas errores que no vienen al caso (Lo se soy muy nuevo en esto jaja!)... Utilize "ArrayListnombre.clone" pero no puedo "clonarlo" a otro metodo, o mejor dicho no se como hacerlo  :( , Por favor abstenerse de configurarme el codigo y pasarmelo, quiero aprender de mis errores, desde ya muchas gracias!


En línea

3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: Pasar datos de ArrayList entre metodos (DUDA)
« Respuesta #1 en: 7 Octubre 2018, 23:41 pm »

Te dí una respuesta mas trabajada por privado. Sin embargo, te responderé cortamente por acá. Para pasar variables de un método a otro existen 4 formas.

1. Que la variable sea una atributo de la clase que contenga los dos métodos:

Código
  1. public class MyClass{
  2.     private ArrayList<String> nombres = new ArrayList<>();
  3.     public void methodA() {
  4.          this.nombres.add("new name");
  5.     }
  6.     public void methodB(int index) {
  7.          System.out.println(this.nombres.get(index));
  8.     }
  9. }
  10.  

2. Que la variable sea estática:

Código
  1. public class MyClass{
  2.     public static ArrayList<String> nombres = new ArrayList<>();
  3.     public void methodA() {
  4.          MyClass.nombres.add("new name");
  5.     }
  6.     public void methodB(int index) {
  7.          System.out.println(MyClass.nombres.get(index));
  8.     }
  9. }
  10.  

3. Que la envíes como parámetro

Código
  1. public class MyClass{
  2.     public void methodA() {
  3.          ArrayList<String> nombres = new ArrayList<>();
  4.          nombres.add("new name");
  5.          methodB(nombres, 0);
  6.     }
  7.     public void methodB(ArrayList<String> nombres, int index) {
  8.          System.out.println(nombres.get(index));
  9.     }
  10. }
  11.  

4. Que la obtengas desde un método get, instanciando un objeto de la clase que la contiene:

Código
  1. public class MyClassA{
  2.     private ArrayList<String> nombres = new ArrayList<>();
  3.     public ArrayList<String>getNombres() {
  4.          return this.nombres;
  5.     }
  6. }
  7. public class MyClassB{
  8.     public void methodB(int index) {
  9.          MyClassA myClassA = new MyClassA();
  10.          System.out.println(myClassA.getNombres().get(index));
  11.     }
  12. }
  13.  

En tu caso, la mejor es la número 1.

Saludos.-


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
pasar datos entre BD
Programación Visual Basic
arkhaios 3 2,015 Último mensaje 24 Junio 2005, 23:33 pm
por goodbye
Pasar datos entre formularios
.NET (C#, VB.NET, ASP)
decaos 3 5,109 Último mensaje 13 Octubre 2008, 22:28 pm
por decaos
pasar datos entre webs con seguiridad =P
Desarrollo Web
Kase 3 2,841 Último mensaje 26 Agosto 2011, 15:42 pm
por Novlucker
Problema al pasar datos de un ArrayList a un LinkedList
Java
JorgeLamli 1 1,599 Último mensaje 16 Abril 2015, 23:42 pm
por Usuario Invitado
Problema al pasar datos entre formularios bases de datos distintas
Programación General
soyconta 0 2,725 Último mensaje 5 Junio 2020, 19:22 pm
por soyconta
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines