Java编码和解码程序不能通过参数传递关键字



所以,我不确定这里发生了什么,如果我把encodedecode放在args[0]中,它应该可以正常工作,但它没有。我有所有的导入,我还有一个我正在使用的实用程序类。我不明白为什么,当我使用这些参数运行程序时: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");

忽略大小写

最新更新