我試圖添加this.array的內容到一個臨時數組,但是當我打印返回值時,它總是空的。ArrayList <Integer> addAll方法不添加
Class對象
import java.util.*;
public class LetterInventory{
private ArrayList<Integer> array;
private int size;
public LetterInventory(String input){
size = input.length();
array = new ArrayList<Integer>();
for(int i = 0;i<input.length();i++){
array.add(i,(int)input.charAt(i));
}
}
public LetterInventory(){
size = 0;
array = new ArrayList<Integer>();
}
public int size(){
return size;
}
public LetterInventory add(LetterInventory other){
LetterInventory temp = new LetterInventory();
temp.array.addAll(array);
return temp;
}
public String toString(){
String result = "[";
for(int i = 0;i<=size-1;i++){
int temp = array.get(i);
result += (char)temp;
}
return result += "]";
}
}
和我的客戶端代碼
import java.util.*;
public class Practice {
public static void main (String[] args){
LetterInventory l1 = new LetterInventory("aaa");
LetterInventory l2 = new LetterInventory("bbb");
System.out.println(l1);
System.out.println(l2);
LetterInventory sum = l1.add(l2);
System.out.println(sum);
}
}
和輸出始終是[]無論我做什麼。我毫不猶豫地需要幫助。正如我花了這一天絕大多數試圖解決這個問題。
你的代碼中有很多問題,但你看到空白輸出的主要原因是你的'toString()'實現。它使用'size'進行迭代,當你調用'add()'方法時它將爲0。 – Manish
另外,你的add()方法對* other *的內容沒有任何作用。它完全忽略了傳入的變量。 – Kylar
@Kylar未使用的參數是由於這只是一個狹隘的版本,完整的程序比這長得多。 – Stwest