找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 1963|回复: 24

关于java

[复制链接]
发表于 2007-2-9 15:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

×
问个问题,
就是java中的main方法的argument
String args[] --这是什么意思?怎样运用这个?!
偶在有的书上看到过
if(args.length>1)  这个大于一代表什么呀?? 数组 args 的值是什么呀?
....
偶这个很不明白,希望大家帮帮偶,
最好给偶个例子,万分感谢!!!$害羞$ $害羞$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 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[0]=programmName;
argv[1]=param1;
argv[2]=param2;
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-9 17:16 | 显示全部楼层


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

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

  12.       long[] primes = new long[primesRequired];  
  13.       primes[0] = 2;                             
  14.       primes[1] = 3;   

复制代码

你看看这个例子,我不明白args是什么的数组?
谢谢.
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-2-9 20:15 | 显示全部楼层
args[]是在命令行运行时候输入的参数,因为参数可以为多个,所以要用数组来存。

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

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

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

[ 本帖最后由 one 于 2007-2-9 19:18 编辑 ]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-10 01:06 | 显示全部楼层
我没说明白,

这样说吧



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

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

复制代码

上面这两个方法中的args数组有什么区别?
在用法上又有什么区别?
谢谢!!$汗$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 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 编辑 ]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-2-10 01:29 | 显示全部楼层
原帖由 jeanie 于 2007-2-10 00:06 发表
我没说明白,

这样说吧



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

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


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


跑个题,介不介意我问一句,楼主是学Info的,还是纯粹出于兴趣学学java的?。。。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-2-10 01:31 | 显示全部楼层
原帖由 小牛军队 于 2007-2-10 00:29 发表


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


牛哥看看我回答的对不对?我就会C++,怕两者有区别,好心却误导了楼主:)
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-2-10 01:42 | 显示全部楼层
原帖由 one 于 2007-2-10 00:31 发表


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


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

http://www.microsoft.com/technet/sysinternals/default.mspx
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-2-10 01:48 | 显示全部楼层
原帖由 小牛军队 于 2007-2-10 00:42 发表


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

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


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

谢谢你送的礼物$送花$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-10 02:28 | 显示全部楼层
原帖由 小牛军队 于 2007-2-10 00:29 发表


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


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

[ 本帖最后由 jeanie 于 2007-2-10 01:30 编辑 ]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 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$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-2-10 02:38 | 显示全部楼层
原帖由 jeanie 于 2007-2-10 01:32 发表

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


Run -> Arguments -> Program Arguments
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-2-10 02:39 | 显示全部楼层
原帖由 jeanie 于 2007-2-10 01:28 发表


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


哦,那就是自己给自己开小灶了,值得表扬。。。$支持$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-2-10 02:39 | 显示全部楼层
原帖由 jeanie 于 2007-2-10 01:32 发表

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


这样就可以以命令行的方式传送参数给程序啊,Dos下不是有很多这样的命令吗:)
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-10 02:57 | 显示全部楼层
原帖由 one 于 2007-2-10 01:39 发表


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


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

  1. public static void main(String args[])
  2. if(args.length==0)
  3. print("true");
  4. else
  5. print("false")
复制代码

这样结果应该是true吧.

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

  1. args.length!=0
复制代码

????
  谢谢 $郁闷$ $郁闷$

[ 本帖最后由 jeanie 于 2007-2-10 02:00 编辑 ]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-10 03:04 | 显示全部楼层
原帖由 小牛军队 于 2007-2-10 01:38 发表


Run -> Arguments -> Program Arguments

偶是很笨的那种类型,$汗$ $汗$
还是没理解$汗$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 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[0]是"可读",args[1]是"可写"。
这种情况下args.length != 0,给出"false”。此时args.length = 2。

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

[ 本帖最后由 one 于 2007-2-10 02:20 编辑 ]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-2-10 03:16 | 显示全部楼层
原帖由 jeanie 于 2007-2-10 02:04 发表

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


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

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

不懂的地方要多写代码多调试,只有在写的过程中才能真正明白原理机制。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-2-10 03:25 | 显示全部楼层
楼主是男滴啊:o

是GG就更加不能灰心啊,我一个女孩子都爬那么远了,加油$支持$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-10 03:31 | 显示全部楼层
原帖由 one 于 2007-2-10 02:12 发表


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

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

能给偶举个

  1. args.length!=0
复制代码

的例子么? 谢谢!$郁闷$ $郁闷$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-10 03:37 | 显示全部楼层
原帖由 one 于 2007-2-10 02:25 发表
楼主是男滴啊:o

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

我是对电脑比较笨的那种类型,$汗$ $汗$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 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 编辑 ]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-10 16:23 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-2-17 02:20 | 显示全部楼层
程序的意思是判断是否有运行时给定的参数,如果有就处理它
(一个或多于一个都叫有$汗$ )
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

我是开心果

Archiver|手机版|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+2, 2025-6-17 04:38 , Processed in 0.129468 second(s), 32 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表