Java 数组调用问题 5
packagetestarray;importjava.util.Random;/****@authorliva*/publicclasstestarray{/***@p...
package testarray;
import java.util.Random;
/**
*
* @author liva
*/
public class testarray {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
aa aadata = new aa();
bb bbdata = new bb();
int[] cu = new int[100];
for(int i=0; i<5; i++)
{
bbdata.bbrun();
cu = aadata.data;
aadata.print(cu);
}
}
}
以下创建aa类
package testarray;
import java.util.Random;
/**
*
* @author liva
*/
public class aa {
public int[] data = new int[100];
private int a;
private Random rnd = new Random();
private int n=0;
public int getaa()
{
a = rnd.nextInt(50);
data[n++] = a;
return rnd.nextInt(50);
}
public int[] geton()
{
return data;
}
public void print(int[] x)
{
for(int i=0; i<n; i++)
System.out.println(x[i]);
}
}
//以下创建bb类
public class bb {
private aa bbb = new aa();
public void bbrun(){
bbb.getaa();
}
}
程序没有运行结果,在主程序中调用了bb类的bbrun()函数后,数组data应该存储了数据。可是在主函数中条用data后没有运行结果;这是为什么?
非常着急。
谢谢指导!
谢谢! 你说的不是同一个引用我是明白的。我的一个编程作业中遇到这样的一个问题,我把它简化成以上程序提问了。没有太注意编程规则。那接着请教:我在同一个包中创建了三个类,这三个类要共享一个数组,其中任何一个调用该数组类后,产生的随机数都会存在这个数组中,其它。再次调用这个数组时,我希望能够访问到这些产生的随机数据,而不是重新产生一个随机书。所以有了上面的这个程序。我刚学习java,不具有这样的编程思想。请指导! 展开
import java.util.Random;
/**
*
* @author liva
*/
public class testarray {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
aa aadata = new aa();
bb bbdata = new bb();
int[] cu = new int[100];
for(int i=0; i<5; i++)
{
bbdata.bbrun();
cu = aadata.data;
aadata.print(cu);
}
}
}
以下创建aa类
package testarray;
import java.util.Random;
/**
*
* @author liva
*/
public class aa {
public int[] data = new int[100];
private int a;
private Random rnd = new Random();
private int n=0;
public int getaa()
{
a = rnd.nextInt(50);
data[n++] = a;
return rnd.nextInt(50);
}
public int[] geton()
{
return data;
}
public void print(int[] x)
{
for(int i=0; i<n; i++)
System.out.println(x[i]);
}
}
//以下创建bb类
public class bb {
private aa bbb = new aa();
public void bbrun(){
bbb.getaa();
}
}
程序没有运行结果,在主程序中调用了bb类的bbrun()函数后,数组data应该存储了数据。可是在主函数中条用data后没有运行结果;这是为什么?
非常着急。
谢谢指导!
谢谢! 你说的不是同一个引用我是明白的。我的一个编程作业中遇到这样的一个问题,我把它简化成以上程序提问了。没有太注意编程规则。那接着请教:我在同一个包中创建了三个类,这三个类要共享一个数组,其中任何一个调用该数组类后,产生的随机数都会存在这个数组中,其它。再次调用这个数组时,我希望能够访问到这些产生的随机数据,而不是重新产生一个随机书。所以有了上面的这个程序。我刚学习java,不具有这样的编程思想。请指导! 展开
6个回答
展开全部
这是JAVA很基础的东西。
虽然bbb.getaa();但是此时的bbb并不是testarray类中定义的aa,他们不是同一个东西。专业术语叫他们的引用不是同一个。实际上你操作的是bb中定义的bbb,而testarray中的aa,始终是空的,你没有对它做任何的赋值等操作。
还有提醒下,最基础的JAVA类名的第一个字母要大写你都不知道吗?
虽然bbb.getaa();但是此时的bbb并不是testarray类中定义的aa,他们不是同一个东西。专业术语叫他们的引用不是同一个。实际上你操作的是bb中定义的bbb,而testarray中的aa,始终是空的,你没有对它做任何的赋值等操作。
还有提醒下,最基础的JAVA类名的第一个字母要大写你都不知道吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
懒着看了,没有结构性
顺便说下,可能对有你帮助
为什么bb类要操作aa类的方法?
为什么不写在aa类里?
一个类,也就是一个对象,要描述自己本身的状态、属性、行为
你这样写,虽然是个很简单的demo,但是思想更重要,你自己不感觉很乱么
顺便说下,可能对有你帮助
为什么bb类要操作aa类的方法?
为什么不写在aa类里?
一个类,也就是一个对象,要描述自己本身的状态、属性、行为
你这样写,虽然是个很简单的demo,但是思想更重要,你自己不感觉很乱么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这程序太能折磨人了,看了半天终于看出来了。请问你用eclipse或则NetBeans等等开发工具了吗?如果你用集成开发工具debug一下应该能找到答案。问题很简单,主程序中没有调用给对象aaData赋值的函数,因此他还是个空置。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你主函数中的aadata和bb类中的bbb不是同一个引用,怎么会输出呢?你试试把主函数中的aadata传给bb类(public void bbrun(aa bbbb))!你是刚从C语言转过来的吧??呵呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵虽然我是新手 不能完全看懂 但我觉的 你写的太乱
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询