当前位置: 代码迷 >> J2SE >> java中关于星号的有关问题
  详细解决方案

java中关于星号的有关问题

热度:96   发布时间:2016-04-24 00:58:51.0
java中关于星号的问题
今天看到一个程序本是想玩玩没想到遇到一个蛮有趣的问题,不知道win中的×有什么特别的意义,我只知道在Java中的正则表达式中他的意义,下面是描述:
class test{
  public static void main(String []args){
  System.out.print(args[0]);
  }
}
操作如下
C:\Documents and Settings\Administrator\桌面>javac test.java
C:\Documents and Settings\Administrator\桌面>java test 3
3
C:\Documents and Settings\Administrator\桌面>java test #
#
C:\Documents and Settings\Administrator\桌面>java test %
%
C:\Documents and Settings\Administrator\桌面>java test *
360保险箱.lnk
郁闷的就在这里了,360保险箱.lnk是我桌面上的一个快捷方式,我改成360时就变成以下请况
C:\Documents and Settings\Administrator\桌面>java test *
360.lnk
忘高手指点!

------解决方案--------------------
这是Dos的问题,?和*在dos里是通配符,分别表示文件名的1个字符和所有字符。
在执行java test *的时候,先由操作系统将*转义成表示所有字符的文件,其实是很多文件名。

你可以试一下,dir *,看看列表的文件名顺序,然后执行java test *,看结果是不是dir结果的第一个文件,
然后再删除第一个文件名(或改名),我想再执行java test *时,应该显示dir结果的第二个文件了。
------解决方案--------------------
你把代码改成:

Java code
class test{   public static void main(String []args){         for(int i=; i<args.length;i++){          System.out.print(args[i]);         }  } }
  相关解决方案