我试图在执行时将参数传递给main方法。这个想法最终我将把它集成到可以发送电子邮件/文本通知的代码中,另一个程序将用它来自动发送电子邮件。
在cmd中的运行时,我在正确的文件夹中,文件名是PassArgs.jar。
我键入了“java -jar PassArgs.jar em”(没有引号),希望得到输出'1',而是控制台显示“Invalid argument”。我在该块中添加了语句来打印出数组变量中的第一个元素(这是一个字符串数组),果然,返回了em。
我做错了什么?为什么Java不将'em'识别为有效参数? 任何帮助,将不胜感激。谢谢!
public class PassArgs {
public static void main(String[] vars) {
//check to see if too many arguments are passed
if (vars.length!=1)
{
System.out.println("Not correct number of args");
}
else
{
if (vars[0] == "em")
{
System.out.println("1");
//Read email addresses from file
//Send a physical email to a @domain.com address
}
else if (vars[0] == "te")
{
System.out.println("2");
//read phonenumber@domain.com from file
//Send a text message to mobile phones.
}
else if (vars[0] == "bo")
{
System.out.println("3");
//read from both documents
//Send email and text to mobile phones
}
else
{
System.out.println("Invalid argument");
System.out.println(vars[0]);
}
}
}
}