为了账号安全,请及时绑定邮箱和手机立即绑定

请问老师,数组的长度可不可以用一个变量来定,让它跟据须要来变换数组的长度?这样可以吗?

int a=1;//定一个变量,值为1。

int [] b=new int[a];//定义数组的长度为a;如果在后面的计算中我须要改变b数组的长度,就改变量a的值,行吗?


正在回答

7 回答

并不可以的

1 回复 有任何疑惑可以回复我~
#1

慕容6327677 提问者

非常感谢!
2017-05-28 回复 有任何疑惑可以回复我~

不对,我还是感觉那程序有问题。 。。。。。

0 回复 有任何疑惑可以回复我~

int a=5;

int [] score=new int[a];

System.out.println("第一次长度:"+score.length);

    a=10;

Way tes=new Way();

int b=tes.change(a);

System.out.println("第二次长度:"+b);

  public int change(int a){

       

        int [] score=new int[a];

        return score.length;

        }


1 回复 有任何疑惑可以回复我~
#1

慕容6327677 提问者

谢谢!
2017-06-24 回复 有任何疑惑可以回复我~

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;

}

测试这个。

1 回复 有任何疑惑可以回复我~
#1

慕容6327677 提问者

谢谢!
2017-06-24 回复 有任何疑惑可以回复我~

我好像 还是没弄懂你的意思 。。。。。。。

0 回复 有任何疑惑可以回复我~
#1

慕容6327677 提问者

你写的用方法来实现很好,我想问的就是这个意思,谢谢!
2017-06-24 回复 有任何疑惑可以回复我~
#2

忆_卿 回复 慕容6327677 提问者

是你想要的?那就好 -- 昨天晚上纠结了一晚上, 不是说为了加分,互相学习而已
2017-06-24 回复 有任何疑惑可以回复我~
#3

慕容6327677 提问者 回复 忆_卿

真是抱歉,只能加一次分,现在加不起了,对不住了,朋友.
2017-06-26 回复 有任何疑惑可以回复我~

不好意思 ,之前没看清楚你的问题, 定义变量作为长度是可以的 ,

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;就可以了,  你试一下,看是不是你想要的那种。

1 回复 有任何疑惑可以回复我~
#1

慕容6327677 提问者

感谢你的细心讲解,如果还可以加分的话,我一定把分加给你.
2017-06-24 回复 有任何疑惑可以回复我~

可以用变量的  int a=5;  String[] subjects = new String[a];         

1 回复 有任何疑惑可以回复我~
#1

慕容6327677 提问者

谢谢!
2017-06-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165261    人
  • 解答问题       17582    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

请问老师,数组的长度可不可以用一个变量来定,让它跟据须要来变换数组的长度?这样可以吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信