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.
Muchísimas gracias, se nota que soy un auténtico principiante ¿verdad?
Gracias de nuevo, así da gusto. :)
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...