這是hw,我真的被困在如何讓我的代碼返回我想要它返回的東西。我試圖返回一個給定的索引值的字符串值。我認爲我所要做的只是返回給定索引處的字符串值,但我沒有得到正確的答案。返回與參數不同的類型
public void add(String candidate){
if (candidate.equals(null)){
throw new RuntimeException();
}
String[] contenders = new String[candidates.length+1];
// copy the array manually because I'm restricted from ArrayLists
for (int i = 0; i < candidates.length; i++){
contenders[i] = this.candidates[i];
}
this.candidate = candidate;
contenders[contenders.length-1] = this.candidate;
this.candidates = new String [contenders.length];
增加值到新建成的陣列後,測試者要在給定指標
public String get(int index){
if (index < 0 || index > candidates.length) {
throw new RuntimeException("Your argument was not within bounds.");
}
for (int i = index; i < candidate.length(); i++){
candidate = candidates[index];
}
return candidate;
我也一直在努力,我終於能夠有候選人停止指向獲取字符串值爲null,它給出了給定索引的錯誤值,所以例如我想'X'在候選人[3],但我得到'Y',因爲這是候選人保留的最後一個值。我試過只是返回候選人[索引],但它告訴我,該指數的值爲空。正如我已經通過調試器看起來,我的原始數組沒有被正確複製,但我不知道我應該接下來嘗試什麼。提前致謝。
這是我的構造函數:
public CandidateList(){
candidates = new String[0];
}
public CandidateList(String[] candidates){
this.candidates = new String[candidates.length];
CandidateList candidateList = new CandidateList();
你有更大的問題..代碼是凌亂和有點沒有意義 –
呃......什麼?您的代碼將始終返回數組中的最後一個值。爲什麼你需要一個for循環?循環直到'i
Moira
你是怎麼調用get(index)的。另外你是什麼意思原始數組不被正確複製?什麼是複製,什麼不是? – leoOrion