首页 > 解决方案 > 如果数组在 Java 中已满,如何将值传递给类中的另一个方法?

问题描述

我是Java的完整初学者,所以我希望我有意义。我想将类中的值从一种方法存储到另一种方法中。

如果第一个类方法中的数组已满,我想将值添加到具有更多空间的第二个方法中。我检查第一个方法 inFor 是否已满,然后它应该将参数 newCoin 的值添加到方法 moreSpace 中。那么我应该在inFor 中调用moreSpace 吗?

 public double inFor(newCoin) {

for(int i = 0; i<arr.length;i++)

 if (arr[i] == null){
  arr[i] = newCoin;

if (i >=arr.length){

  moreSpace(i) //add the values here



 public void moreSpace(){
 String[temp] = new String[arr.length + 1];
for (int i = 0; i < arr.length; i++){
temp[i] = arr[i];
 arr = temp;       

标签: java

解决方案


您可以根据您的要求在下面使用,但我建议您使用 java 提供的任何动态结构,例如 List。

public double inFor(String newCoin) {
    for (int i = 0; i <= arr.length; i++) {

        if (arr[i] == null) {
            arr[i] = newCoin;

            if (i >= arr.length) {

                moreSpace(arr, newCoin, i); //add the values here
            }
        }
    }
}

public void moreSpace(String arr[], String newCoin, int i){
    arr[i] = new String(); // arr[i] = new String(newCoin);
    arr[i] = newCoin;      // Not needed if you provid value in construtor like commente code
}

这是您的代码看起来像使用ArrayList

ArrayList<String> arr = new ArrayList<String>();

public double inFor(String newCoin) {

    arr.add(newCoin);

}

推荐阅读