如何初始化一个大小为n的int-java数组初始为空?

如何初始化一个大小为n的int-java数组初始为空?,java,arrays,Java,Arrays,在一个函数中,我想初始化一个最大大小为n的java数组,它最初是空的。如果我添加3个元素(比如n>3)并返回数组,数组应该只包含3个元素,而不是后面跟(n-3)0的3个元素 //伪代码 func(){ //创建最大大小为5的数组 A[0]=1; A[1]=2; A[2]=3; 返回A; } main(){ int[]B=func(); //长度应为3 对于(int i=0;i那么你必须自己使数组动态。每次你向数组中添加一个元素时,创建一个新的数组,其大小=没有元素(让你添加第三个元素,那么新数组

在一个函数中,我想初始化一个最大大小为n的java数组,它最初是空的。如果我添加3个元素(比如n>3)并返回数组,数组应该只包含3个元素,而不是后面跟(n-3)0的3个元素

//伪代码
func(){
//创建最大大小为5的数组
A[0]=1;
A[1]=2;
A[2]=3;
返回A;
}
main(){
int[]B=func();
//长度应为3

对于(int i=0;i那么你必须自己使数组动态。每次你向数组中添加一个元素时,创建一个新的数组,其大小=没有元素(让你添加第三个元素,那么新数组的大小将是3)。将元素从旧数组移到新数组。每次添加1个元素时,都必须遵循此操作。

您的问题似乎是只想打印数组的非默认值。如果您的值始终不同于零,则可以执行以下操作:

for (int i=0;i<B.length;i++){
      if (B[i] != 0){
          print(B[i]);
      }
}

for(int i=0;它的代码不是有效的Java。我是说伪代码不清楚你在问什么。如果你想要一个包含3个int的数组,那么
new int[]{1,2,3}有什么问题吗
?我们不希望在本网站上使用伪代码。我们希望使用显示实际问题的实际代码,我可以实际复制、粘贴和复制这些代码。@MahithBhima.:如果提供给您的问题的任何答案对您有用并且有助于您-选择该答案(绿色勾号)。这是否意味着无法使用单个数组执行此操作?@MahithBhima如果您已经知道需要存储的元素数,那么您可以随数组声明预定义大小。实际上,我正在执行筛选功能。因此,我不知道要存储的元素数。但我可以保留一个计数器,并按照以下co中的建议执行操作mment@jccint如果数组中存在的值是{1,2,0,3},该怎么办。0不必出现在数组的末尾array@smrutiranjan这是解决方案的诸多限制之一。如果有类似的问题,OP可能应该更详细地解释他的用例。
for (int i=0;i<B.length;i++){
      if (B[i] != 0){
          print(B[i]);
      }
}
int counter = 3; //the array might be {1, 2, 3, 0, 0}
for (int i=0; i<counter; i++){
      print(B[i]); //will print "1 2 3"
}