sgdd.net
当前位置:首页 >> jAvA创建不定长数组 >>

jAvA创建不定长数组

如果是String型其实你可以先把要放入数组中的的元素放进一个StringBuffer里,用分隔符分割,在需要的时候转化成String在用.split()方法分割放进String[]数组里,这样快,需要的代码也不多,int型的话,可以用同样的方法实现,只是数据类型转化可能会影响速度.数组好像不支持动态变量的.

先声明一个对数组的引用,比如 int[] array; 在录入一个数组长度的int型值num.最后用new动态为array[]分配数组空间,array=new int[num];

JAVA没法定义不定长的数组,要么声明为NULL,要么指定其长度.你可以用集合ArrayList来解决这个问题,如果没学过集合,可以先遍历原数组,得到0的个数后,再定义新数组.

在java中想使用不定长的数组,可以使用java.util.vector,或者是jdk1.4中的arraylist.

JAVA应该是跟C++/C一样,无法创建不规定大小的数组,只能声明,而且声明了过后不创建的话是编译出错的 楼主可以把你的问题写的详细些,用其他的方法代替之 比如字符串数组就可以通过一个方法自动创建对应大小的

定义时当然可以:例如 int[] a; 但是要把它初始化成为一个真正意义上的数组就必须设定长度: int [] a = new int[10]; 这时就只能改变数组里的数值而不能改变它的长度了

可以用arraylist

int n=0;//定义一个变量nscanf("%d", &n);//给n输入一个任意值char *arrayChar = new char[n];//动态申请长度n的字符数组完成

楼上已经说明了必须是创建指定,可是个人有个解决方案.就是用变量.e.g. private Object[] getArray(int num) { return new Object[num]; } 而num可由你自己随意传入,变相达到了数组长度可变.

import java.util.Arrays; public class ArrayTest1 { public static void main(String[] args) { final int NMAX = 3; int[][] arrA = new int[NMAX][ ]; //定义一个二维数组, 或是长度为NMAX、元素类型为int[]一维数组 int[][] arrB = new int[NMAX][ ]; //同上 //

mtwm.net | tongrenche.com | lpfk.net | qhgj.net | yhkn.net | 网站首页 | 网站地图
All rights reserved Powered by www.sgdd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com