我的印象是main方法必须具有“ public static void main(String [] args){}”形式,您不能传递int []参数。
但是,在Windows命令行中,当运行以下.class文件时,它接受int和string作为参数。
例如,使用此命令将给出输出“ stringers”:“ java IntArgsTest stringers”
我的问题是,为什么?为什么此代码将字符串作为参数接受而没有错误?
这是我的代码。
public class IntArgsTest
{
public static void main (int[] args)
{
IntArgsTest iat = new IntArgsTest(args);
}
public IntArgsTest(int[] n){ System.out.println(n[0]);};
}
传递给main方法(JVM用来启动程序的一种方法)的所有内容都是String,包括所有内容。它可能看起来像int 1,但实际上是字符串“
1”,这是一个很大的区别。
现在有了您的代码,如果尝试运行它会发生什么?确保它可以编译,因为它是有效的Java,但您的主要方法签名与JVM作为程序起点所需的签名不匹配。
要运行代码,您需要添加有效的main方法,例如,
public class IntArgsTest {
public static void main(int[] args) {
IntArgsTest iat = new IntArgsTest(args);
}
public IntArgsTest(int[] n) {
System.out.println(n[0]);
};
public static void main(String[] args) {
int[] intArgs = new int[args.length];
for (int i : intArgs) {
try {
intArgs[i] = Integer.parseInt(args[i]);
} catch (NumberFormatException e) {
System.err.println("Failed trying to parse a non-numeric argument, " + args[i]);
}
}
main(intArgs);
}
}
然后在调用程序时传递一些数字。
我的印象是main方法必须具有“public static void main(string[]args){}”的形式,您不能传递int[]参数。 但是,在windows命令行中,当运行下面的.class文件时,它同时接受int和string作为参数。 例如,使用此命令将给出输出“stringers”:“java IntArgsTest stringers”
创建一个名为平均值的方法,用于计算作为参数传递的数字的平均值。之前创建的方法和必须在此方法中使用! 在以下模板中定义方法: 我正在努力将sum()方法放在average()方法中。我不知道如何让它工作,因为我在eclipse中不断遇到这样的错误: 这是我的代码: 我知道这与我将average方法定义为double类型有关,但我尝试将它们改为double,并调用我的变量“int avg=…”作为“双
所以假设我有一个包含大量ints和double的程序。如果我知道这个数字合适的话,是否值得把我的整数改为字节或短号? 我知道java没有无符号类型,但是如果我知道数字只为正数,我还能做什么吗? 我所说的高效主要是指处理。我假设,如果所有变量都是一半大小,垃圾收集器会快得多,计算也可能会快一些。(我想既然我在android上工作,我也需要担心一下ram。) 当我开始一个新项目的时候,值得从一开始就做
描述 (Description) 此方法返回此对象表示的字符序列中最后一次出现的索引,该索引小于或等于fromIndex,如果该字符在该点之前未出现,则返回-1。 语法 (Syntax) 以下是此方法的语法 - public int lastIndexOf(int ch, int fromIndex) 参数 (Parameters) 这是参数的细节 - ch - 一个角色。 fromIndex
描述 (Description) 此方法返回指定字符第一次出现的此字符串中的索引,在指定索引处开始搜索,如果未出现该字符,则返回-1。 语法 (Syntax) 以下是此方法的语法 - public int indexOf(int ch, int fromIndex) 参数 (Parameters) 这是参数的细节 - ch - 一个角色。 fromIndex - 从中开始搜索的索引。 返回值 (
描述 (Description) java.util.zip.Deflater.deflate(byte[] b, int off, int len, int flush)方法压缩输入数据并使用压缩数据填充指定的缓冲区。 返回压缩的实际数据字节数。 声明 (Declaration) 以下是java.util.zip.Deflater.deflate(byte[] b, int off, int l