SoloCodigo

Programación General => Java => Mensaje iniciado por: falcon6905 en Jueves 19 de Marzo de 2009, 19:20

Título: Duda Return Métodos
Publicado por: falcon6905 en Jueves 19 de Marzo de 2009, 19:20
Hola, buenas a todos los integrantes del foro. :hola:

Soy nuevo por estos lares y un principiante en el mundo de Desarrollo de aplicaciones informáticas.
Actualmente estoy dando Java, en la parte de métodos.Pero tengo una duda que me impide seguir,si sois tan amables de solucionarme esa duda os lo agradecería mucho :)

Aquí va la susodicha duda--> Imaginemos...hago un método de llenado de un vector de 50 posiciones y luego quiero llevarlo a la parte principal de la estructura de código con un return.
Ejem:
       
Citar
static Short llenado() throws IOException
     {
      BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));  
      int cont,resp;
      short vector[]=new short[50];    
     
      for(cont=0;cont<50;cont++)
        {
         do
           {  
           
            vector[cont]=(short)(Math.random()*100);
           }while(vector[cont]<10 || vector[cont]>99);
        }
      return(vector[]);
     }
Como apreciareis a simple vista el return está mal hecho,o eso creo...ya que me da error  :(             ¿Cómo lo pondríais vosotros?
A la hora de llamarlo a la posición principal de la estructura...    ¿Cómo lo haríais?.
Gracias chicos y chicas  :D de antemano.
Título: Re: Duda Return Métodos
Publicado por: shadow_rev en Jueves 19 de Marzo de 2009, 20:45
...
Primero, estás declarando que vas a devolver algo de tipo Short, pero estás retornando un array. Segundo, Java no reconoce vector[] cuando se usa como un llamado; me explico, lo usas cuando lo vas a declarar (int vector[] = new int[10]), pero cuando lo llamas, lo haces sin los corchetes (return vector).

Esta debería ser la forma correcta:
Código: Java
  1. static Short[] llenado() throws IOException // Nota que se pone Short[] cuando vas a retornar un array de tipo Short
  2. {
  3. int cont, resp;
  4. short vector[]=new short[50];
  5.  
  6. for(cont=0;cont<50;cont++)
  7. {
  8. do
  9. {
  10.  
  11. vector[cont]=(short)(Math.random()*100);
  12. }while(vector[cont]<10 || vector[cont]>99);
  13. }
  14. return vector;
  15. }
  16.  

:suerte:
Título: Re: Duda Return Métodos
Publicado por: falcon6905 en Jueves 19 de Marzo de 2009, 21:11
Gracias shadow_rev por contestar  :D  :D                                                            

He modificado las partes que me has dicho...¿Ahora como puedo representarlo en la parte principal?

Gracias :)