Java 静态错误:此类没有接受字符串[]的静态void main方法
因为我希望用户输入数字,而不是我使用的字符串Java 静态错误:此类没有接受字符串[]的静态void main方法,java,string,syntax,integer,Java,String,Syntax,Integer,因为我希望用户输入数字,而不是我使用的字符串 public static void main(Integer[] args) 那么,为什么这是错误的呢 您需要接受字符串数组,并在运行时将字符串转换为整数。按照它的工作方式…您需要接受字符串数组,并在运行时将字符串转换为整数。就其工作方式而言……您只能为您的主方法设置一个字符串[]数组(除非您重载它,但我们暂时不讨论细节:-D) 但是,您可以使用以下命令将字符串[]args的每个元素更改为int public static void main(S
public static void main(Integer[] args)
那么,为什么这是错误的呢 您需要接受字符串数组,并在运行时将字符串转换为整数。按照它的工作方式…您需要接受字符串数组,并在运行时将字符串转换为整数。就其工作方式而言……您只能为您的主方法设置一个字符串[]数组(除非您重载它,但我们暂时不讨论细节:-D) 但是,您可以使用以下命令将字符串[]args的每个元素更改为int
public static void main(String[] args)
{
int[] values = new int[args.length];
for (String arg : args)
{
//Get or do something with the integer value here
}
}
这是因为底层平台只知道如何向程序传递字符串。打开命令提示符或终端并执行以下操作时:
>java MyClass 3 4 5
它不知道你想把[“3”,“4”,“5”]当作整数来处理。它将字符串的处理留给程序来完成。您只能为您的主方法设置一个字符串[]数组(除非您重载了它,但我们暂时不讨论细节:-D) 但是,您可以使用以下命令将字符串[]args的每个元素更改为int
public static void main(String[] args)
{
int[] values = new int[args.length];
for (String arg : args)
{
//Get or do something with the integer value here
}
}
这是因为底层平台只知道如何向程序传递字符串。打开命令提示符或终端并执行以下操作时:
>java MyClass 3 4 5
它不知道你想把[“3”,“4”,“5”]当作整数来处理。它让程序处理字符串。主方法上的签名必须是:
public static void main(String[] args)
你别无选择。如果需要,您可以通过
Integer.parseInt(someString)
将这些字符串解析为整数。主方法上的签名必须是:
public static void main(String[] args)
你别无选择。如果需要,您可以通过
Integer将这些字符串解析为整数。parseInt(someString)
Main是特殊的,因为它必须存在才能启动程序,因此需要有固定的签名。在后台,java运行时寻找启动程序的神奇签名。神奇的签名是
public static void main(String[] args)
如果你想得到整数,你需要在事实发生后使用
Integer.parseInt( x );
Main是特殊的,因为它必须出现才能启动程序,所以需要有一个固定的签名。在后台,java运行时寻找启动程序的神奇签名。神奇的签名是
public static void main(String[] args)
如果你想得到整数,你需要在事实发生后使用
Integer.parseInt( x );
当JVM加载类并尝试执行它时,它会查找带有签名的方法main()
public static void main (String[] args) ...
其他任何东西都是不可接受的。如果需要整数,请使用Integer.parseInt()方法将输入字符串转换为整数,如Zach所述。我将该转换放在一个try-catch块中,以捕获NumberFormatException,并有一个
System.err.println ("This class accepts Integer arguments only");
在相应的catch块中。关于,-M.S.当JVM加载类并尝试执行它时,它会查找带有签名的方法main()
public static void main (String[] args) ...
其他任何东西都是不可接受的。如果需要整数,请使用Integer.parseInt()方法将输入字符串转换为整数,如Zach所述。我将该转换放在一个try-catch块中,以捕获NumberFormatException,并有一个
System.err.println ("This class accepts Integer arguments only");
在相应的catch块中。关于-M.S.main的方法签名始终是(字符串[]args)。如果要获取整数,则必须使用下面的代码段将args[]转换为int
int aInt = Integer.parseInt(args[0]);
main的方法签名始终为(字符串[]args)。如果要获取整数,则必须使用下面的代码段将args[]转换为int
int aInt = Integer.parseInt(args[0]);
应该是
Integer.parseInt(..)
。应该是Integer.parseInt(..)
。