jeanie 发表于 2007-2-9 15:18

关于java

问个问题,
就是java中的main方法的argument
String args[] --这是什么意思?怎样运用这个?!
偶在有的书上看到过
if(args.length>1)这个大于一代表什么呀?? 数组 args 的值是什么呀?
....
偶这个很不明白,希望大家帮帮偶,
最好给偶个例子,万分感谢!!!$害羞$ $害羞$

one 发表于 2007-2-9 15:27

原帖由 jeanie 于 2007-2-9 14:18 发表
问个问题,
就是java中的main方法的argument
String args[] --这是什么意思?怎样运用这个?!
偶在有的书上看到过
if(args.length>1)这个大于一代表什么呀?? 数组 args 的值是什么呀?
....
偶这个很不 ...

C++里是用来取得命令行参数的,不知道跟Java有区别没有。

argc是参数个数。argv[]是参数的具体内容,是个字符串数组。

比如: programmName param1 param2

argc=3;
argv=programmName;
argv=param1;
argv=param2;

jeanie 发表于 2007-2-9 17:16



public class PrimesToFile {
public static void main(String[] args) {
    int primesRequired = 100;                  
    if (args.length > 0) {             //这里的args指的是什么? args也没有被付值呀? args.length不等于零么?
      try {
      primesRequired = Integer.valueOf(args).intValue();//还有这里的args具体应该是什么?

      } catch (NumberFormatException e) {
      System.out.println("Prime count value invalid. Using default of "
                           + primesRequired);
      }
    }

      long[] primes = new long;
      primes = 2;                           
      primes = 3;   


你看看这个例子,我不明白args是什么的数组?
谢谢.

one 发表于 2007-2-9 20:15

args[]是在命令行运行时候输入的参数,因为参数可以为多个,所以要用数组来存。

比如dos的copy命令:
copy c:\*.* d:\*.*
这就是两个参数c:\*.*和d:\*.*

Java在命令行运行的时候要用到Java命令:
JavaTest value1 value2
后面就是两个参数,在main里面args[]就是两个长度的数组。value1存在args中,value2存在args中。

而C++中的第一个参数是程序名本身。

[ 本帖最后由 one 于 2007-2-9 19:18 编辑 ]

jeanie 发表于 2007-2-10 01:06

我没说明白,

这样说吧



public static void main(String args[]){....} //main方法中的argsarray

public void Word(String args[]){....} //普通方法中的argsarray


上面这两个方法中的args数组有什么区别?
在用法上又有什么区别?
谢谢!!$汗$

one 发表于 2007-2-10 01:28

public static void main( String args[] );
因为这是main()函数,所以参数表里的String args[]有特定含义,表示命令行运行时输入的参数个数,参数是一个字符串数组。

public void Word( String args[] );
这只是一个名为Word的普通函数,参数是一个String数组,只是正好取名为args。

[ 本帖最后由 one 于 2007-2-10 00:30 编辑 ]

小牛军队 发表于 2007-2-10 01:29

原帖由 jeanie 于 2007-2-10 00:06 发表
我没说明白,

这样说吧



public static void main(String args[]){....} //main方法中的argsarray

public void Word(String args[]){....} //普通方法中的argsarray


上面这两个方法中的arg ...

跑个题,介不介意我问一句,楼主是学Info的,还是纯粹出于兴趣学学java的?。。。

one 发表于 2007-2-10 01:31

原帖由 小牛军队 于 2007-2-10 00:29 发表


跑个题,介不介意我问一句,楼主是学Info的,还是纯粹出于兴趣学学java的?。。。

牛哥看看我回答的对不对?我就会C++,怕两者有区别,好心却误导了楼主:)

小牛军队 发表于 2007-2-10 01:42

原帖由 one 于 2007-2-10 00:31 发表


牛哥看看我回答的对不对?我就会C++,怕两者有区别,好心却误导了楼主:)

你写得很正确。。。可惜我不是版主,给你也加不了分,据说你最近热衷于编程,就送你一个网址吧,上面有几个Windows下的很好的Monitor工具,除错的过程很能帮上忙。。。

http://www.microsoft.com/technet/sysinternals/default.mspx

one 发表于 2007-2-10 01:48

原帖由 小牛军队 于 2007-2-10 00:42 发表


你写得很正确。。。可惜我不是版主,给你也加不了分,据说你最近热衷于编程,就送你一个网址吧,上面有几个Windows下的很好的Monitor工具,除错的过程很能帮上忙。。。

http://www.microsoft.com/techne ...

一直很羡慕会编程的高手,现在我只是练一些基础功,希望自己能坚持下去。

谢谢你送的礼物$送花$

jeanie 发表于 2007-2-10 02:28

原帖由 小牛军队 于 2007-2-10 00:29 发表


跑个题,介不介意我问一句,楼主是学Info的,还是纯粹出于兴趣学学java的?。。。

没,偶是学电子的,
对于java是没事的时候自己打发时间的,
所以有很多不懂,$汗$
呵呵:) $汗$ $汗$

[ 本帖最后由 jeanie 于 2007-2-10 01:30 编辑 ]

jeanie 发表于 2007-2-10 02:32

原帖由 one 于 2007-2-10 00:28 发表
public static void main( String args[] );
因为这是main()函数,所以参数表里的String args[]有特定含义,表示命令行运行时输入的参数个数,参数是一个字符串数组。

public void Word( String args[] );
...
什么是命令行运行时输入的参数??
我是用eclipse运行的,没输入参数呀?
$frage$ $frage$

小牛军队 发表于 2007-2-10 02:38

原帖由 jeanie 于 2007-2-10 01:32 发表

什么是命令行运行时输入的参数??
我是用eclipse运行的,没输入参数呀?
$frage$ $frage$

Run -> Arguments -> Program Arguments

小牛军队 发表于 2007-2-10 02:39

原帖由 jeanie 于 2007-2-10 01:28 发表


没,偶是学电子的,
对于java是没事的时候自己打发时间的,
所以有很多不懂,$汗$
呵呵:) $汗$ $汗$

哦,那就是自己给自己开小灶了,值得表扬。。。$支持$

one 发表于 2007-2-10 02:39

原帖由 jeanie 于 2007-2-10 01:32 发表

什么是命令行运行时输入的参数??
我是用eclipse运行的,没输入参数呀?
$frage$ $frage$

这样就可以以命令行的方式传送参数给程序啊,Dos下不是有很多这样的命令吗:)

jeanie 发表于 2007-2-10 02:57

原帖由 one 于 2007-2-10 01:39 发表


这样就可以以命令行的方式传送参数给程序啊,Dos下不是有很多这样的命令吗:)

完了,我是没救了,$郁闷$

public static void main(String args[])
if(args.length==0)
print("true");
else
print("false")

这样结果应该是true吧.

那么在什么情况下结果为false ?
也就是在什么情况下

args.length!=0
????
谢谢 $郁闷$ $郁闷$

[ 本帖最后由 jeanie 于 2007-2-10 02:00 编辑 ]

jeanie 发表于 2007-2-10 03:04

原帖由 小牛军队 于 2007-2-10 01:38 发表


Run -> Arguments -> Program Arguments
偶是很笨的那种类型,$汗$ $汗$
还是没理解$汗$

one 发表于 2007-2-10 03:12

原帖由 jeanie 于 2007-2-10 01:57 发表

完了,我是没救了,$郁闷$

public static void main(String args[])
if(args.length==0)
print("true");
else
print("false");

这样结果应该是true吧.


这个要看实际的命令行究竟有多少参数了。

比如说有一个命令行(为了解释清楚随便写的):"打开文件 可读 可写"
你的程序名是"打开文件",打开方式有两个限定条件,也就是args是"可读",args是"可写"。
这种情况下args.length != 0,给出"false”。此时args.length = 2。

再比如说有另一个命令行:"打开文件"
你的程序名是"打开文件",打开方式为空。
这种情况下args.length == 0,给出"true”。

[ 本帖最后由 one 于 2007-2-10 02:20 编辑 ]

one 发表于 2007-2-10 03:16

原帖由 jeanie 于 2007-2-10 02:04 发表

偶是很笨的那种类型,$汗$ $汗$
还是没理解$汗$

慢慢来,第一本书没看懂,看第二本,不行再看第三本。。。迟早会弄明白的。

回头看同一本书也会有更深入理解的,mm别灰心,学编程语言是循序渐进的。

不懂的地方要多写代码多调试,只有在写的过程中才能真正明白原理机制。

one 发表于 2007-2-10 03:25

楼主是男滴啊:o

是GG就更加不能灰心啊,我一个女孩子都爬那么远了,加油$支持$

jeanie 发表于 2007-2-10 03:31

原帖由 one 于 2007-2-10 02:12 发表


这个要看实际的命令行究竟有多少参数了。

比如说有一个命令行(为了解释清楚随便写的):"打开文件 可读 可写"
你的程序名是"打开文件",打开方式有两个限定条件,也就是args是" ...
能给偶举个

args.length!=0

的例子么? 谢谢!$郁闷$ $郁闷$

jeanie 发表于 2007-2-10 03:37

原帖由 one 于 2007-2-10 02:25 发表
楼主是男滴啊:o

是GG就更加不能灰心啊,我一个女孩子都爬那么远了,加油$支持$
我是对电脑比较笨的那种类型,$汗$ $汗$

one 发表于 2007-2-10 15:15

原帖由 jeanie 于 2007-2-10 02:31 发表

能给偶举个

args.length!=0

的例子么? 谢谢!$郁闷$ $郁闷$

我不是在18楼回复了吗$考虑$ 我举的第一个例子args.length = 2,不就是 != 0 吗。

[ 本帖最后由 one 于 2007-2-10 14:18 编辑 ]

jeanie 发表于 2007-2-10 16:23

哦,谢谢!$汗$

cn1h 发表于 2007-2-17 02:20

程序的意思是判断是否有运行时给定的参数,如果有就处理它
(一个或多于一个都叫有$汗$ )
页: [1]
查看完整版本: 关于java