Java 编码和解码程序无法通过 args 传递关键字

Java encode and decode program cant pass key word through args

所以,我不确定这里发生了什么,如果我将 encodedecode 放在 args[0] 中,它应该可以正常工作,但事实并非如此。我有所有的导入,我也有一个我正在使用的实用程序 class。我不明白为什么,当我 运行 使用这些参数的程序时:java Prog4 encode fly message.txt 它无法正常工作。它将直接转到最后一个 else 语句。

    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);
            }

试试这个:

args[0].equals("encode")

还有这个:

args[0].equals("decode")

比较java中的字符串...

您使用 == 检查引用是否相等。

您应该使用 .equals() 检查值是否相等。

args[0]=="encode"

错了!

它检查对象引用是否相等,而不是值是否相等!

使用:

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

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

忽略大小写