黑马程序员技术交流社区
标题:
返回值和调用函数的问题
[打印本页]
作者:
征服
时间:
2014-4-13 18:45
标题:
返回值和调用函数的问题
下边是一个简单的例子,就是想通过这个例子学习一下有关返回值和函数之间的调用该怎么使用,谢谢!求解释
class Demo88
{
public static void main(String[] args)
{
int[] a=new int[10];
for(int i=0;i<10;i++)
{
a[i]=i+1;
}
method(a);
}
public static int[] method(int a[])
{
int[] b=new int[10];
for(int j=0;j<10;j++)
{
b[j]=a[j]+1;
}
method_1(b);
return b;
}
public static int[] method_1(int a[])
{
int[] c=new int[10];
for(int k=0;k<10;k++)
{
c[k]=b[k]+1;
System.out.println(c[k]);
}
}
}
代码运行时错误的,主要是想通过主函数生成一个数组a[],调用method()方法,得到数组b[],怎么能把数组b[]返回,,然后调用method_1方法,得到数组c[]?求解,谢谢!
作者:
无此姓名
时间:
2014-4-13 19:44
楼主这个代码肯定会报错啊,你的method_1(int a [])方法实际参数和调用时不一致,另外你的method_1方法没有返回值。
你要返回数组a或者数组b直接写return a;就可以了,你可以用另一个数组来接收返回值。
我帮你改了一下,编译能通过也能正常运行。不知道你要的是不是这个意思
class Demo88{
public static void main(String[] args) {
int[] a=new int[10];
for(int i=0;i<10;i++)
{
a[i]=i+1;
}
int[] arr = method(a); //这里接收method返回的数组
}
public static int[] method(int a[]) {
int[] b=new int[10];
for(int j=0;j<10;j++)
{
b[j]=a[j]+1;
System.out.print(b[j] + " ");//遍历一下数组
}
System.out.println();
int [] arr = method_1(b);//这里接收method_1返回的数组
return b; //将数组b返回
}
public static int[] method_1(int b[]){
int[] c=new int[10];
for(int k=0;k<10;k++)
{
c[k]=b[k]+1;
System.out.print(c[k] + " ");//遍历数组
}
return c; //将数组c传回
}
}
复制代码
作者:
杨庆雷
时间:
2014-4-13 20:22
package test;
//下边是一个简单的例子,就是想通过这个例子学习一下有关返回值和函数之间的调用该怎么使用,谢谢!求解释
class Test10
{
public static void main(String[] args)
{
int[] a=new int[10];
for(int i=0;i<10;i++)
{
a[i]=i+1;
}
method(a);
int b[] = method(a); //用 b接收method返回的数组
method_1(b); // 调用method();把得到的b传进去
}
public static int[] method(int a[])
{
int[] b=new int[10];
for(int j=0;j<10;j++)
{
b[j]=a[j]+1;
}
return b;
}
public static int[] method_1(int a[])
{
int[] c=new int[10];
for(int k=0;k<10;k++)
{
c[k]=a[k]+1;
// c[k]=b[k]+1;
System.out.println(c[k]);
}
return c;
}
}
复制代码
作者:
征服
时间:
2014-4-13 22:42
好的,谢谢!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2