Foros del Web » Programación para mayores de 30 ;) » Java »

Argumentos desde la linea de comandos

Estas en el tema de Argumentos desde la linea de comandos en el foro de Java en Foros del Web. Soy nuevo en Java y me he encontrado con un problema que espero me ayudéis a solucionar. Pretendo lanzar una aplicación, utilizando argumentos desde la ...
  #1 (permalink)  
Antiguo 26/11/2010, 18:26
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 13 años, 4 meses
Puntos: 0
Argumentos desde la linea de comandos

Soy nuevo en Java y me he encontrado con un problema que espero me ayudéis a solucionar. Pretendo lanzar una aplicación, utilizando argumentos desde la linea de comandos, por ejemplo, para una aplicación llamada prueba1:
“java prueba1 opcion1” o bien “java prueba1 opcion2” y de esta forma se ejecuten las opciones programadas. He comenzado compilando este código:

class prueba1{


public static void main(String[] args){


if (args[0] == "opcion1" ){

System.out.println("Seleccionada opcion 1");

}else if (args[0] == "opcion2"){

System.out.println("Seleccionada opcion 2");

}else{

System.out.println("Opcion no reconocida");

}

}

}

El código se ha compilado sin problemas, pero con la siguiente llamada:

java prueba1 opcion1

se produce la siguiente salida:

Opcion no reconocida

Lo mismo ocurre con:

java prueba1 opcion2
Opcion no reconocida

Por mera comprobación he introducido una nueva linea en el codigo:

class prueba1{


public static void main(String[] args){


System.out.println("Opcion elegida = " + args[0]);


if (args[0] == "opcion1" ){

System.out.println("Seleccionada opcion 1");

}else if (args[0] == "opcion2"){

System.out.println("Seleccionada opcion 2");

}else{

System.out.println("Opcion no reconocida");

}

}

}

El resultado es el siguiente:

java prueba1 opcion1

Opcion elegida = opcion1
Opcion no reconocida
Creo que mi intención esta clara, reconocer el argumento de la linea de comandos comparando el String de entrada y obrar en consecuencia ¿porque no funciona? ¿como habría que hacerlo?

Saludos y gracias por anticipado
  #2 (permalink)  
Antiguo 27/11/2010, 01:02
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Argumentos desde la linea de comandos

Las cadenas se comparan con equals(), no con ==

if (args[0].equals("opcion1" )){

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: argumentos, comandos, linea
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:49.