• Viernes 8 de Noviembre de 2024, 16:05

Autor Tema:  Pregunta algo estupida a estas alturas :)  (Leído 1764 veces)

SFRJ

  • Miembro MUY activo
  • ***
  • Mensajes: 115
    • Ver Perfil
Pregunta algo estupida a estas alturas :)
« en: Viernes 6 de Febrero de 2009, 14:19 »
0
Bueno como el titulo del tema lo dice puede parecer que la pregunta es algo tonta para ser mi segundo ano ya estudiando y aprendiendo java pero he de hacerla porque no consigo encontrar una explicacion completa en el google.
La pregunta es si podrian ustedes descrivir con sus palabras exactamente lo que significa: public static void main(String args[]) bueno pues mi problema es el siguiente y esque me atasco en lo de String [] args que esque no lo acabo de entender para que sirve porfavor aclarenme mi duda y corrijanme si me equivoco.

public --> modificador de acceso que indica que el metodo es accesible desde cualquier parte del codigo.
static --> palabra reservada al lenguaje java que facilita que los metodos o varijables que la utilicen, no tengan necesidad de crear un objeto de clase para poder ser llamados.
void --> indica que el metodo devuelve alla donde se llamo un objeto de tipo void, que simboliza que nos se ha devuelto nada.
main-->nombre del metodo, su identificador, la maquina virtual de java es lo primero que busca para poder interpretar un programa.
(String [] args) -->son los parametros del metodo , en ellos se indica que este metodo necesita un array de tipo String al que se le da el nombre args. He aqui mi gran dilema, y esque no entiendo para que es ese String[] args y que se hace con el profavor ayuda.

Porfavor si alguien que supiese exactamente la definicion de cada una da las partes de este metodo fuese tan amable de aclarmelo.
Un saludo a todos.

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Pregunta algo estupida a estas alturas :)
« Respuesta #1 en: Viernes 6 de Febrero de 2009, 15:44 »
0
Hola, tranquilo creo que a todos en algún momento nos ha pasado que nos encontramos con cosas que la sabemos usar muy bien, pero al momento de explicar nos quedamos en el aire.
Bueno te puedo decir que está implementado al igual que c++ para pasar argumentos al momento de ejecutarlos por ejemplo en Dos

Código: Java
  1. java MiPrograma Hoy es un día bien chevere
  2.  

Código: Java
  1.  
  2. class MiPrograma {
  3.     public static void main( String args[] ) {
  4.         int i,fin ;
  5.         fin = args.length;
  6.         for( i=0 ; i < fin ; i++ )
  7.             System.out.println("Argumento "+ i+":  "+ args[i] );
  8.         }
  9.     }  
  10. } 
  11.  

El resultado sería
    Argumento 0: Hoy
    Argumento 1: es
    Argumento 2: un
    Argumento 3: día
    Argumento 4: bien
    Argumento 5: chevere
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Pregunta algo estupida a estas alturas :)
« Respuesta #2 en: Viernes 6 de Febrero de 2009, 18:12 »
0
Cita de: "juez"
Bueno te puedo decir que está implementado al igual que c++ para pasar argumentos al momento de ejecutarlos por ejemplo en Dos
Aclaro que no es exactamente igual en C++, sólo en esencia; mientras que en C++ tienes que especificar cuantos son los parámetros que se le pasan al método principal, Java es más flexible al poner un array de tipo String en vez de poner varios parámetros.

En otras palabras, así es en C++ (toma 2 parámetros en la línea de comandos, el resto los ignora):
Código: C
  1. int main(char arg1, char arg2) {
  2. // ...
  3. }
  4.  
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

SFRJ

  • Miembro MUY activo
  • ***
  • Mensajes: 115
    • Ver Perfil
Re: Pregunta algo estupida a estas alturas :)
« Respuesta #3 en: Sábado 7 de Febrero de 2009, 15:13 »
0
Creo que lo he entendido completamente.
Entonces, solo se utiliza, cuando ejecuto mi programa desde la linea de comando, utilizando el comando java.

Aha pero la frase que introdujiste era un String y lo que se ha echo entonces es transformar este String en un array.
Creo que lo he entendido.
Pero sigo teniendo una pequena duda, yo todavia en 2 anos que llevo estudiando java nunca he introducido argumentos desde la linea de comandos en el metodo main. Mi duda es cuando es necesario utilizar este procedimiento en que casos?
Gracias por la aclaracion :)

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Pregunta algo estupida a estas alturas :)
« Respuesta #4 en: Domingo 8 de Febrero de 2009, 12:55 »
0
Cita de: "SFRJ"
Mi duda es cuando es necesario utilizar este procedimiento en que casos?
Cuando el programa es de consola (no GUI) y puede actuar de varias formas dependiendo de los parámetros que se le pasen. Prácticamente todas las utilidades en consola suelen recibir parámetros para poder ajustar su funcionamiento. Por ejemplo:

Código: Text
  1. C:>dir /?
  2.  
te muestra la ayuda del comando dir de Windows.

Salud