一定要带参数.
java不支持默认参数.

解决方案 »

  1.   

    我是问为什么main要参数,而不是为什么要main,有门我理解,但为什么要加个槛
      

  2.   

    java版里人为什么这么少啊?这里到底有多少学java的啊?
      

  3.   

    这个string[] arg是取得你的程序执行时跟在后面的参数
    比如,运行
    java test parm1
    则arg[0]的值就是parm1
      

  4.   

    你就当是规定好了,one java's rule!
      

  5.   

    其实这只是Java的一条基本规则,只要记住就好啦。
    另外,我不反对你把Java与C做类比,毕竟这两种语言在语法上有太多的相似之处,对学习Java这门由C++演化过来的语言有一定好处,可是如果这成了你学习上的绊脚石就不好啦,要记住这是两种不同的语言,由不同的设计哲学设计出来,存在许许多多的差异。
    知其然还要知其所以然,你的问题问得好。
    如果一个C/C++程序的main函数没有参数会怎么样?这能阻止你向程序传递命令行参数吗?不能,这些参数仍然被传递进你的程序,只是你不能通过常规途径方便地取得他们罢了。
    再来看看Java应用程序,。对不起,明天再接着写。
      

  6.   

    bus 都問這種問題了,看來學得不錯了,那個大你還要不要阿!前面的好像我之發給你後幾章!
    前幾章還要不要阿!
      

  7.   

    hehe ,canfly 同学你好可爱哦,区区我们的私事就去qq上解决不要来csdn扰人清净,keke
    另外我们班还有谁在csdn混的?id是?(出了我们这些在深圳的)
    lux21从你的话看出你这个人不错,呵呵!
      

  8.   

    其实还是有一定作用的,就是可以作为运行参数啊,所有参数都存在args[]数组里,还有一个.length属性可以得到参数的个数,呵呵
    比如del file1.txt中file1.txt就是参数....明白了?
      

  9.   

    本人认为由于在JAVA的类库中无此方法MAIN(),依据JAVA语法规则,所以编译出错.
      

  10.   


    这是默认的程序入口阿参数是规定的阿,要是可要可不要(或者说可以过载)程序从哪里开始执行阿就象我们生下来就要上户口阿(tmd,我最近为这个烦死了)没有户口怎么过日子阿(不过好像可以被收容/遣送?!玩过《北京浮生记》游戏吗?你就知道是什么滋味)/*--by bookbobby(书呆)-+
     |            |
     |  你说爱我只是习惯  |
     |  再也不是喜欢    |
     |  我给你的爱     |
     |  已不再温暖     |
     |            |
     +--by bookbobby(书呆)-*/
      

  11.   

    同意樓上的意見!
    java中的這個程序入口是必須有的!
    把命令行參數传递给main()
    它是以字符串类型传递给mian()的!
    比如:java bus this is a bus
    那么 在arg[0]中存的是this
    在arg[1]中存的是is 
    在arg[2]中存的是a
    在arg[3]中存的是bus
    从而就可以在程序中使用这些字符串!
    应为他是String类型!他就支持所有String类型的方法!象length, charAt() trim()等!
      

  12.   

    canfly
    你好象搞错了哦
    java ququ this is  ququ
    arg[0]=ququ 而不是 arg[0]=this
    我记得java是这样,不过c肯定是这样
    另外区区我问你jdk编程和jbuild下的java编程区别大吗?有什么区别?简单的说说就可以
    别告诉我和vc和bcb区别一样大哦
      

  13.   

    pseudohandle 这是它的原英文:
    在MSDN里是这样:
    GetCurrentProcess
        This function returns a pseudohandle for the current process.   HANDLE GetCurrentProcess(void);
    Return Values
      A pseudohandle to the current process indicates success. Res
      A pseudohandle is a special constant that is interpreted as the current    process handle. The calling process can use this handle to specify its own process whenever a process handle is required.   This handle has the maximum possible access to the process object. A process can also use the OpenProcess function to open a real handle to itself. The pseudohandle need not be closed when it is no longer needed. Calling the CloseHandle function with a pseudohandle can have unexplained results.  
    回复人: xiaoxiaohan(萧晓寒) (2001-12-15 12:23:30)  得0分 
    当一个进程被初始化时,系统要为它分配一个句柄表。该句柄表只用于内核对象,不用于用户对象或GDI对象。在Windows2000、Windows98和WindowsCE中,它们的实现方法是不同的。
    当进程初次被初始化时,它的句柄表是空的。然后,当进程中的线程调用创建内核对象的函数时,内核就为该对象分配一个内存块,并对它初始化。这时,内核对进程的句柄表进行扫描,找出一个空项并对它进行初始化。该指针成员将被设置为内核对象的数据结构的内存地址,访问屏蔽设置为全部访问权,同时,各个标志也作了设置。用于创建内核对象的所有函数均返回与进程相关的句柄,这些句柄可以被在相同进程中运行的任何或所有线程成功地加以使用。该句柄值实际上是放入进程的句柄表中的索引,它用于标识内核对象的信息存放的位置。因此当调试一个应用程序并且观察内核对象句柄的实际值时,会看到一些较小的值,如1,2等。句柄的含义并没有记入文档资料,并且可能随时变更。实际上在Windows2000中,返回的值用于标识放入进程的句柄表的该对象的字节数,而不是索引号本身。每当调用一个将内核对象句柄接受为参数的函数时,就要传递由一个Create*&函数返回的值。从内部来说,该函数要查看进程的句柄表,以获取要生成的内核对象的地址,然后按定义得很好的方式来生成该对象的数据结构。由于句柄值实际上是放入进程句柄表的索引,因此这些句柄是与进程相关的,并且不能由其他进程成功地使用。
    将伪句柄转换为实句柄:
    HANDLE hProcessFalse = NULL;
    HANDLE hProcessTrue = NULL;
    HANDLE hThreadFalse = NULL;
    HANDLE hThreadTrue = NULL;hProcessFalse = GetCurrentProcess(  );
    hThreadFalse = GetCurrentThread(  );
    取得线程实句柄:
    DuplicateHandle( hProcessFalse, hThreadFalse, hProcessFalse, &hThreadTrue, 0, FALSE, DUPLICATE_SAME_ACCESS );
    取得进程实句柄:
    DuplicateHandle( hProcessFalse, hProcessFalse, hProcessFalse, &hProcessTrue, 0, FALSE, DUPLICATE_SAME_ACCESS );
    由于DuplicateHandle会递增特定对象的使用计数,因此当完成对复制对象句柄的使用时,应该将目标句柄传递给CloseHandle,从而递减对象的使用计数。
     
    回复人: xiaoxiaohan(萧晓寒) (2001-12-15 12:25:56)  得0分 
    实句柄会使内核对象的计数加1,而伪句柄不会。  
      

  14.   

    canflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanflycanfly
      

  15.   

    哈哈!我就知道你会搞错!
    你要记得 用java命令时 后面要class的名字那就是bus 既是java bus 此时是没有参数的情况!
    如有呢!就是java bus this is a bus 注意: this is a bus  才是参数!
      

  16.   

    jdk 跟jbuilder 差别!我也说不太好!说来就话长了!
    不过还是建议你,先用jdk然后再用jbuider!
      

  17.   

    hoho  ,这个是短的了,hoho,你现在用什么?(参数我没搞错哦,嘴嘴)
      

  18.   

    jbuilder 
    jdk有時也用!
    不更你爭了!給你一個源碼是一下就知道了!
    //display all command-line arguments.
    public class CommandLine{    public static void main(String args[]){         for (int i=0;i<args.length;i++){
                  
                 System.out.println("args["+i+"]: "+args[i]);    
             }
        }
    }
    記得用java CommandLine this is a bus 試一試!
      

  19.   

    wo zen me gei bu liao fen ?
      

  20.   

    keyi de 
    不信你试试给我