/ / Java codificar y decodificar el programa no puede pasar la palabra clave a través de args [duplicate] - java, string, compare

El programa de codificación y decodificación Java no puede pasar palabra clave a través de args [duplicado] - java, cadena, comparar

Entonces, no estoy seguro de lo que está sucediendo aquí, si coloco encode o decode en el args[0], debería funcionar bien, pero no funciona. Tengo todas las importaciones y tengo una clase de utilidad que también estoy usando. No entiendo por qué, cuando ejecuto el programa con estos argumentos: java Prog4 encode fly message.txt no funcionará bien. Iré directamente a la última declaración.

    public class Prog4 {
public static void main(String[] args){
if (args.length != 3){
System.out.println("Enter the right amount of arguments!");
System.exit(0);
}

String command=args[0];
String key= args[1];
String fileName = args[2];
File file = new File(args[2]);
String fileExtention="";
if(args[0]=="encode"){
fileExtention=".crypt";

}
else if (args[0]=="decode"){
fileExtention=".decrypt";
}
else{
System.out.println("Enter decode or encode!");
System.exit(0);
}

Respuestas

0 para la respuesta № 1

prueba esto:

args[0].equals("encode")

y esto:

args[0].equals("decode")

para comparar las cadenas en java ...

tu usas == Para comprobar si las referencias son iguales.

Deberías usar .equals() para comprobar si los valores son iguales.


0 para la respuesta № 2
args[0]=="encode"

¡Está Mal!

comprueba la igualdad de referencia de objeto, no la igualdad de valor!

utilizar:

args[0].equals("encode");

o

args[0].equalsIgnoreCase("encode");

ignorar el caso