informacion almacenada en un array

Iniciado por fprg, 17 Noviembre 2013, 23:08 PM

0 Miembros y 2 Visitantes están viendo este tema.

fprg

estoy aprendiendo a programar en java
necesito crear un metodo que devuelva la informacion almacemada hasta el momento en el array. el metodo debe devolver el array de longitud especificada en el constructor con la informacion almacenada

Mitsu

1) Crea un constructor que acepte un parámetro int para la longitud del array.
2) Crea un array con la lontigud especificada dentro de un método que llene el array.
3) Crea un método que devuelva el array.

fprg

los dos primeros pasos ya los he hecho, pero al hacer el tercero me da un error

public class Hola {

   private int [] clases;
     
public Hola (int sesiones){
   clases = new int [sesiones]; }

public int [] getTratamiento(){
   for (int i = 0; i < pruebas.length; i++)
    return clases;  }
}

Mitsu

#3
Citar
for (int i = 0; i < pruebas.length; i++)

1) ¿pruebas de donde sale?

2) El array está vacío, ese for te dará un NullPointerException.

3) ¿Por qué devuelves el arreglo dentro del for? Al hacer uso de return, automáticamente el método terminará su tarea en el punto en donde se llama a return.

Sería así:
Código (=java) [Seleccionar]

public int [] getTratamiento(){
   for (int i = 0; i < clases.length; i++) {
    // llenar el arreglo
   }
   return clases;
}

crksergio


fprg

he intentado solucionarlo, pero al usar la clase Scanner para ver si ya imprime la informacion almacenada, me sale esto: [I@1968e23

egyware

Cita de: fprg en 18 Noviembre 2013, 19:31 PM
he intentado solucionarlo, pero al usar la clase Scanner para ver si ya imprime la informacion almacenada, me sale esto: [I@1968e23
Por defecto los objetos imprimen una especie de pseudopuntero o el valor hash del objeto blah blah blah

si quieres leer datos de la clase Scanner te recomiendo que leas la API. Te servirá mucho si aprendes a buscar ahí información.

Código (java) [Seleccionar]

Scanner scan = new Scanner(System.in);
      while (scan.hasNextLine()) {
          System.out.println(scan.nextLine());
      }

Algo simple para leer lineas de la entrada estandar

Algo que escribí hace tiempo, tal vez te pueda ayudar también:
http://egyware.wordpress.com/2010/05/14/leyendo-desde-la-entrada-de-teclado-con-java-usando-java-util-scanner/

Saludos!

crksergio

Puedes hacer un bucle y usar el método .get con el puntero del bucle.