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 № 1prueba 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