黑马程序员技术交流社区
标题:
一段数组代码的小问题
[打印本页]
作者:
yaowenjiang
时间:
2011-12-4 22:58
标题:
一段数组代码的小问题
本帖最后由 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]+" ");
}
}
}
作者:
应国炎
时间:
2011-12-5 00:29
你是想调用print方法来打印数组里的数据,当然得在主方法里调用print方法了,要不他怎么知道你要干什么
作者:
常登凯
时间:
2011-12-5 01:08
汗,你不是在下面定义了一个打印数组里全部数据的方法public static void print(int [] a)么?
main方法所做的是将args[]数组里的参数转换成int数据存到a[]里,然后下面定义的print()方法就是将a[]数组里的数据一个个打印出来。那么在main方法最后肯定要调用这个print方法了,要不然他只是将args数组里的参数存进a数组了,但是并没有打印出来,就看不到效果了。
作者:
yaowenjiang
时间:
2011-12-5 09:55
我是才学的 方法的调用可以直接 这么用的吗 不是需要引用的吗
作者:
李晓斌
时间:
2011-12-5 12:15
只要在同一个类里面的就可以直接调用该方法了了。否则的话,就要创建新对象,让对象去调用方法。
另外,你这句话int [] a=new int [args.length];我很好奇,主函数中定义的Sting []args数组的默认长度是0啊,你这里再新建一个数组a的长度也就变成0了,
那么在print方法中for(int j=0;j<a.length;j++),0<0? 你这个程序能运行出来结果嘛?
作者:
韩军博
时间:
2011-12-5 13:46
楼主不明白的地方就是个简单的方法的调用:
可以如下思考:
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
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]);
}
print(a); //这个起的什么作用呢 就是看不懂。。。。为什么要加这个才可以
//回答:1.现在只需看main()方法的内容,main中首先将接收到的数据进行了处理,处理后,那就应该会输出结果(不然我们编译运行后看不到效果,谁知道做的对不对,是吧),推断出print(a)语句,是用于输出结果的(再看print单词,打印的意思嘛);
// 2.另外当我们看到"print(a)"(单词+括号)的格式时,可以确定,这肯定是调用方法嘛。那么接下来就要找到这个方法的来源,在一个类中能直接以一个方法名进行方法调用,则这个方法是该类自己的方法;
// 3.接着可以看到类中确实还有一个静态方法print(),查看方法中的语句,可以确认,该方法的功能是:接收一个int数组,将其打印出来(把它定义成一个方法有好处,比如若你还需要在main()方法中,进行数组的打印,那么直接一句方法调用即可完成,而不需要再写一遍for循环);
// 4.另外,该方法修饰为静态,即为类方法:所以该语句还可以写成:TestFive.print(a);(写成这样,那就直接可以看出,print()是TestFive类的方法)
}
public static void print(int [] a)
{
for(int j=0;j<a.length;j++)
{
System.out.print(a[j]+" ");
}
}
}
复制代码
作者:
yaowenjiang
时间:
2011-12-5 18:26
李晓斌 发表于 2011-12-5 12:15
只要在同一个类里面的就可以直接调用该方法了了。否则的话,就要创建新对象,让对象去调用方法。
另外,你 ...
可以运行的 只是运行之后什么都没有 要运行的同时输入什么都会打印出什么来的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2