A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yaowenjiang 黑马帝   /  2011-12-4 22:58  /  3023 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 yaowenjiang 于 2011-12-7 18:06 编辑

public class TestFive{
        public static void main(String [] args){
                int [] a=new int [args.length];
                for(int i=0;i<a.length;i++){
                        a=Integer.parseInt(args);
                }
                print(a);   //这个起的什么作用呢   就是看不懂。。。。为什么要加这个才可以
        }
        public static void print(int [] a){
                for(int j=0;j<a.length;j++){
                        System.out.print(a[j]+" ");
}
}
}

8 个回复

倒序浏览
你是想调用print方法来打印数组里的数据,当然得在主方法里调用print方法了,要不他怎么知道你要干什么
回复 使用道具 举报
汗,你不是在下面定义了一个打印数组里全部数据的方法public static void print(int [] a)么?
main方法所做的是将args[]数组里的参数转换成int数据存到a[]里,然后下面定义的print()方法就是将a[]数组里的数据一个个打印出来。那么在main方法最后肯定要调用这个print方法了,要不然他只是将args数组里的参数存进a数组了,但是并没有打印出来,就看不到效果了。
回复 使用道具 举报
我是才学的   方法的调用可以直接  这么用的吗   不是需要引用的吗
回复 使用道具 举报
只要在同一个类里面的就可以直接调用该方法了了。否则的话,就要创建新对象,让对象去调用方法。
另外,你这句话int [] a=new int [args.length];我很好奇,主函数中定义的Sting []args数组的默认长度是0啊,你这里再新建一个数组a的长度也就变成0了,
那么在print方法中for(int j=0;j<a.length;j++),0<0? 你这个程序能运行出来结果嘛?
回复 使用道具 举报
楼主不明白的地方就是个简单的方法的调用:
可以如下思考:

public class TestFive{
         public static void main(String [] args){
                 int [] a=new int [args.length];
                 for(int i=0;i<a.length;i++){
                         a[i]=Integer.parseInt(args[i]);
                 }

           for(int j=0;j<a.length;j++){                        //此处的for循环就相当于是楼主程序中的Print(int [] a)方法。
                         System.out.print(a[j]+" ");
              }      
}
希望楼主还是将最基础的部分搞明白。
回复 使用道具 举报
刘基军 黑马帝 2011-12-5 15:01:29
7#
  1. public class TestFive
  2. {
  3.         public static void main(String [] args)
  4.         {
  5.                 int [] a=new int [args.length];
  6.                 for(int i=0;i<a.length;i++)
  7.                 {
  8.                         a[i]=Integer.parseInt(args[i]);
  9.                 }
  10.                 print(a);   //这个起的什么作用呢   就是看不懂。。。。为什么要加这个才可以
  11.                 //回答:1.现在只需看main()方法的内容,main中首先将接收到的数据进行了处理,处理后,那就应该会输出结果(不然我们编译运行后看不到效果,谁知道做的对不对,是吧),推断出print(a)语句,是用于输出结果的(再看print单词,打印的意思嘛);
  12.                 //      2.另外当我们看到"print(a)"(单词+括号)的格式时,可以确定,这肯定是调用方法嘛。那么接下来就要找到这个方法的来源,在一个类中能直接以一个方法名进行方法调用,则这个方法是该类自己的方法;
  13.                 //      3.接着可以看到类中确实还有一个静态方法print(),查看方法中的语句,可以确认,该方法的功能是:接收一个int数组,将其打印出来(把它定义成一个方法有好处,比如若你还需要在main()方法中,进行数组的打印,那么直接一句方法调用即可完成,而不需要再写一遍for循环);
  14.                 //      4.另外,该方法修饰为静态,即为类方法:所以该语句还可以写成:TestFive.print(a);(写成这样,那就直接可以看出,print()是TestFive类的方法)
  15.         }
  16.        
  17.         public static void print(int [] a)
  18.         {
  19.     for(int j=0;j<a.length;j++)
  20.     {
  21.             System.out.print(a[j]+" ");
  22.                 }
  23.         }
  24. }
复制代码
回复 使用道具 举报
李晓斌 发表于 2011-12-5 12:15
只要在同一个类里面的就可以直接调用该方法了了。否则的话,就要创建新对象,让对象去调用方法。
另外,你 ...

可以运行的    只是运行之后什么都没有   要运行的同时输入什么都会打印出什么来的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马