-1
我正在編寫一個新聞提要程序,我試圖檢查項目是否正確添加到列表數組中。在我的測試工具中,我嘗試在添加組合項後打印數組的內容,但是當我運行該程序時,不顯示任何內容。我的toString方法(或其他方法)有問題嗎?謝謝你的幫助。爲什麼我的toString方法不能在Java中工作?
public class Feed {
private final int DEFAULT_MAX_ITEMS = 10; // default size of array
/* Attribute declarations */
private String name; // the name of the feed
private String[] list; // the array of items
private int size; // the amount of items in the feed
/**
* Constructor
*/
public Feed(String name){
list = new String[DEFAULT_MAX_ITEMS];
size = 0;
}
/**
* add method adds an item to the list
* @param item
*/
public void add(String item){
item = new String();
// add it to the array of items
// if array is not big enough, double its capacity automatically
if (size == list.length)
expandCapacity();
// add reference to item at first free spot in array
list[size] = item;
size++;
}
/**
* expandCapacity method is a helper method
* that creates a new array to store items with twice the capacity
* of the existing one
*/
private void expandCapacity(){
String[] largerList = new String[list.length * 2];
for (int i = 0; i < list.length; i++)
largerList[i] = list[i];
list = largerList;
}
/**
* toString method returns a string representation of all items in the list
* @return
*/
public String toString(){
String s = "";
for (int i = 0; i < size; i++){
s = s + list[i].toString()+ "\n";
}
return s;
}
/**
* test harness
*/
public static void main(String args[]) {
Feed testFeed = new Feed("test");
testFeed.add("blah blah blah");
System.out.println(testFeed.toString());
}
}
嗨。要求人們發現代碼中的錯誤並不是特別有效。您應該使用調試器(或者添加打印語句)來分析問題,追蹤程序的進度,並將其與預期發生的情況進行比較。只要兩者發生分歧,那麼你就發現了你的問題。 (然後,如果有必要,你應該構造一個[最小測試用例](http://sscce.org)。) –
'public void add(String item){ item = new String();'你確定你想要做到這一點? –
您正在覆蓋'add'中的'String'值。 –