大家帮帮忙啊,看看,
//循环显示main()中的String数组args[]
import javax.swing.JOptionPane;
public class ShowArgs {
public ShowArgs(){}
public static void main(String[] args){
for(int n=0;n<args.length;n++)
JOptionPane.showMessageDialog(null,args[n]);
}
}
它被编译成CLASS文件之后,执行时一点结果也没有,晕---
或者
public class ShowArgs
{public static void main (String args[])
{for (int n=0; n<args.length; n++)
System.out.println(args[n]);
}
}
---- 一样
这是为什么啊?
----------------解决方案--------------------------------------------------------
要是你没有输入命令行参数的话args就是空的,也就不会输出什么东西了。
----------------解决方案--------------------------------------------------------
ARGS[]不是默认的?那怎么我学数组那章时,作者还煞有介事地说,ARGS是STRING 数组,看看执行下列代码回显示出什么??
----------------解决方案--------------------------------------------------------
我在http://www.ibm.com/developerworks/cn/java/j-arrays/上搜出来这段话:(请问什么是命令行参数?它有什么作用?)
数组基础知识
在讨论声明、创建、初始化以及复制数组的细节问题之前,让我们先复习一个简单的数组示例。当创建一个 Java 应用程序时, main() 方法有个唯一的字符串数组参数: public static void main(String args []) 。编译器并不在意您用什么参数名,只在意它是不是一个 String 对象的数组。
假设现在我们有个作为 String 对象数组的应用程序的命令行参数,我们可以观察每个元素并打印它。在 Java 中,数组知道它们的大小,而且它们总是从位置零开始建立索引。因此,我们可以通过观察数组专用的实例变量:length 来询问这个数组有多大。下面的代码展示了如何做到这一点:
public class ArrayArgs {
public static void main (String args[]) {
for (int i=0, n=args.length; i<n; i++) {
System.out.println("Arg " + i +":" + args[i]);
}
}
}
---是不是在调用别的类时,这样做才有意义?
----------------解决方案--------------------------------------------------------
编译器并不在意您用什么参数名,只在意它是不是一个 String 对象的数组
------------------------------------------------------------------------------------------------
Things changed! 这句话放在现在也不全对,因为你还可以这样写
[CODE]
public static void main( String... args ) {
// do stuff
}
[/CODE]
----------------解决方案--------------------------------------------------------