Changing main parameter type
我目前正在Eclipse的一个学校项目中工作(我们刚刚开始使用这个),我们遇到了一个小问题:因为我们以前使用过BlueJ,所以我们没有任何主要的方法,我们添加了一个,但遇到了一个问题。
我们必须在参数中发送一个int值,而不是带参数的字符串[],我们尝试了公共静态void main(int[]参数)这将导致以下错误:
Error: Main method not found in class Tester, please define the main
method as: public static void main(String[] args)
我想知道我们应该做些什么/做些什么来让这个工作。
- 你应该听老师的话,而不是浏览StackOverflow;-)
- 老师从来没提过:(可能问得有点快,但至少现在我确定了:)
看看Integer.parseInt("123"),参见http://DOCS.Oracle .COM/JavaSe/ 7 /DOCS/API/Java/Lang/Ontigial.html,PARSETIN %28 Java.Lang.Stand,%20It% 29
我希望你能弄清楚剩下的。)
- 或等效整数。valueof(字符串)
- 是的,但正常情况是使用原始类型而不是对象,所以我更喜欢parseInt。
- 谢谢:)其他人也一样!
正如其他人所说,您不能更改main方法的签名。要从String参数中获取整数,请使用:
1 2 3
| public static void main (String[] args ) {
int first = Integer. parseInt(args [0]); // use whatever index you need
} |
Java将查找EDCOX1×1。您必须将整数值作为字符串传递并分析它。
这里有一个指向Integer.parseInt(String)文档的链接。
您需要将值作为字符串传递,然后将其解析为整数。
请看下面的代码示例:
1 2 3 4
| public static void main (String[] args ) throws Exception {
int value = Integer. parseInt(args [0]);
System. out. println("My int value:" + value );
} |
如果参数不可分析,则需要使用try catch保护parsing以进行错误管理。
尝试在字符串数组中发送整数。
然后拿来:
正如错误所说,在执行类时将调用的主方法必须具有签名public static void main(String[] args)。你不能只给出不同的论点。
如果在命令行中传递数字作为参数,则它们将被Java读入字符串。如果要将它们转换为数字类型,则必须在代码中显式地进行转换。
此类将打印出您在命令行中输入的整数:
1 2 3 4 5 6 7 8 9 10
| public class IntegersFromCommandLine
{
public static void main (String[] args )
{
for (int i = 0; i < args. length; i ++)
{
System. out. println(Integer. parseInt(args [i ]));
}
}
} |
如果给它命令行参数1324 21 458 9564 1 0-789 40,它将给出以下输出:
1 2 3 4 5 6 7 8
| 1324
21
458
9564
1
0
-789
40 |
您必须将主要方法保留如下:
1 2 3
| public static void main (String[] args ){
//....
} |
正如你指出的错误。现在,在主方法中,可以将参数的类型更改为整数。
1 2 3 4 5
| public static void main (String[] args ){
int arg0 =Integer. parseInt(args [0]);
int arg1 =Integer. parseInt(args [1]);
//... etc.
} |
当做!
写一个如下的主要方法
public static void main(String[] args){
}。
使用Integer.parseInt(str)。
只需传入一个字符串,然后使用Integer.parseInt(String)获取所需的整数。
无法更改主方法的签名。这是操作系统的一个约束。
只需通过Integer.parseInt(...)将字符串解析为整数,然后调用实际方法!