JAVA中 如何创建不规定大小的数组?

main方法中Account[]siz=newAccount[5];siz[0]=newAccount();siz[1]=newAccount();编译能通过也能执行.我... main方法中
Account[] siz = new Account[5];
siz[0]= new Account();
siz[1]= new Account();
编译能通过也能执行.
我现在想创建个Account对象的数组,但是不清楚要创建几个,能不规定数组大小,创建几个算几个么?
本人初学者谢谢高手回答
yangyu125 你的方法我实验了下,:
Account siz[];
siz[0]=new Account(); 这里编译器就报错了,说是未对siz[]进行初始化
展开
 我来答
lincoln1177
2008-11-02 · TA获得超过806个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:300万
展开全部
可以用向量,也就是Vector类
首先创建一个Vector对象
Vector MyVector = new Vector(10,2);
上面的语句创建的MyVector向量初始有10个元素空间,一旦使用殆尽就以2为单位递增,使元素个数变成12,14,16....
要想一个一个的递增,把2改成1就行了

初始化向量:
MyVector.addElement(new Account());
上面的语句向向量中添加了一个元素,要初始化多个可以用for循环
for(int i=0;i<n;i++){
MyVector.addElement(new Account());
}

这样,你输入多少数据,就创建了多大的向量空间

另外:
MyVector.elementAt(int n)返回指定位置的元素,相当于数组中的a[n]

对于向量的很多方法,可以看一下帮助文档
List类也可以实现,但我没用过..
沙湃泰绮云
2020-04-26 · TA获得超过3871个赞
知道大有可为答主
回答量:3072
采纳率:25%
帮助的人:174万
展开全部
在java中,数组不能动态重设大小。一个可替代方法是使用java.util.arraylist
(或者java.util.vector)代替使用原始数组(array)。另一种解决方案是用一个不同大小的数组重设数组,将旧数组内容拷贝到新的数组。
/**
*
使用一个新大小重设数组,并拷贝旧数组的内容到新数组
*
@param
oldarray
旧数组被重设
*
@param
newsize
新数组大小
*
@return
返回带同样内容的新数组
*/privatestatic
object
resizearray
(object
oldarray,
int
newsize){
int
oldsize
=
java.lang.reflect.array.getlength(oldarray);
class
elementtype
=
oldarray.getclass().getcomponenttype();
object
newarray
=
java.lang.reflect.array.newinstance(
elementtype,newsize);
int
preservelength
=
math.min(oldsize,newsize);
if
(preservelength
>0)
system.arraycopy
(oldarray,0,newarray,0,preservelength);
return
newarray;
}//
resizearray()测试用例publicstaticvoid
main
(string[]
args)
{
int[]
a
=
{1,2,3};
a
=
(int[])resizearray(a,5);
a[3]
=4;
a[4]
=5;
for
(int
i=0;
i
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
歪瑞顾K
2008-11-02 · TA获得超过2906个赞
知道大有可为答主
回答量:2731
采纳率:33%
帮助的人:2224万
展开全部
java中数组名 实际是一个对象的引用...
和其他对象名一样 在你没进行初始化之前 它的值是null

比如你第一次 int a[]=new int[10] ;
a数组长为10

第二次同样可以用a=new a[20] ;
a这次就是个20长度的数组了

或者像你那样 int a[] ;
a[0] ;
a[1] ;
一个一个往后定义 你定义到几 这个数组就是多长...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6b6a2b35f
2008-11-02 · 超过25用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:0
展开全部
JAVA应该是跟C++/C一样,无法创建不规定大小的数组,只能声明,而且声明了过后不创建的话是编译出错的
楼主可以把你的问题写的详细些,用其他的方法代替之

比如字符串数组就可以通过一个方法自动创建对应大小的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cheng5546
2008-11-02 · TA获得超过719个赞
知道答主
回答量:203
采纳率:0%
帮助的人:168万
展开全部
用个for循环 就OK了
for(int i=0;i<5;i++){
siz[i] =new Account();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式