请问老师,数组的长度可不可以用一个变量来定,让它跟据须要来变换数组的长度?这样可以吗?
int a=1;//定一个变量,值为1。
int [] b=new int[a];//定义数组的长度为a;如果在后面的计算中我须要改变b数组的长度,就改变量a的值,行吗?
int a=1;//定一个变量,值为1。
int [] b=new int[a];//定义数组的长度为a;如果在后面的计算中我须要改变b数组的长度,就改变量a的值,行吗?
2017-05-27
int a = 5;
int [] str = new int[a];
System.out.println("第一次的长度: " + str.length);
a = 8;
System.out.println("第二次的长度: " + addArrayLenth(str, a).length);
System.out.println(str.length);
/**
* 改变数组的长度
*/
public static int[] addArrayLenth(int[] object,int length){
int [] after = new int[length];
int lenght1 = object.length;
for (int i = 0; i < after.length; i++) {
if(after.length < lenght1){
after[i] = object[i];
} else {
after[i] = 0;
}
}
return after;
}
测试这个。
不好意思 ,之前没看清楚你的问题, 定义变量作为长度是可以的 ,
int a=5;
a=6;
String[] subjects = new String[a];
System.out.println(subjects.length);
这样写的时候 你会发现输出的结果会是6,因为程序进入主函数之后是之上而下运行的,当下面这么写的话
int a=5;
String[] subjects = new String[a];
a=6;
System.out.println(subjects.length);结果输出是5 ,
//定义数组的长度为a;如果在后面的计算中我须要改变b数组的长度,就改变量a的值,行吗?
如果说是根据你的要求 是后面计算的时候 改变 长度,该变量的话 以目前学的知识 好像是不行的。
但是可以用方法 来改变变量值实现 你的要求
Way chang=new Way();//创建对象,对象名为chang
int a =chang.chang(6);//调用chang方法,并接收方法的返回值,保存在变量 a中。
String[] subjects = new String[a];
System.out.println(subjects.length);
public int chang (int c ){ //定义一个chang带参带返回值的方法。
int b=c+0;
return b;
}
或者你可以定义一个无参带返回值的方法
Way chang=new Way();//创建对象,对象名为chang
int a =chang.chang();//调用chang方法,并接收方法的返回值,保存在变量 a中。
String[] subjects = new String[a];
System.out.println(subjects.length);
public int chang(){
int b=5;
retrun b;
}
当你计算完 数组之后想 改变值的话, 在方法chang(){}里面 加个b=6;就可以了, 你试一下,看是不是你想要的那种。
举报