Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Duda sobre argumentos para main

Hola a todos. :)

Recién llegado al mundo de Java, estoy constantemente leyendo cosas y aprendiendo. Sin embargo quizá no leo en los sitios adecuados porque me encuentro con problemas que deberían ser muy sencillos y no sé cómo afrontarlos.

Quiero hacer un programa al que se le pasen unos argumentos iniciales, por ejemplo, que sea invocado con "java Programa -a -b -c" y que detecte cuándo se le pasan esos argumentos y cuándo no. Para eso empecé con este código que pretende detectar el primer argumento:

public class Programa {
public static void main (String args[]) {
System.out.println();
if (args[0] == "-a") {
System.out.println("El primer parámetro es correcto");
}
else {
System.out.println("No has introducido parámetro -a");
}
}
}

Pues bien, invocando este programa con "java Programa -a" obtengo la respuesta "No has introducido parámetro -a".

Por favor, que alguien me saque de mi rebuznante ignorancia, lo suplico...

diciembre 20, 2012 | Registered Commenterreygecko

Deberías usar if (args[0].equals("-a")) o if("-a".equals(args[0]).
El '==' sirve para comparar enteros, caracteres... primitivas, pero no objetos y los Strings son objetos. Más o menos.

diciembre 21, 2012 | Unregistered Commenterjmtu

Muchísimas gracias, se nota que soy un auténtico principiante ¿verdad?

Gracias de nuevo, así da gusto. :)

diciembre 21, 2012 | Registered Commenterreygecko