我想弄清楚一部分的任務,我一直在我的頭撞牆一段時間了。我試圖將DNA序列轉錄成RNA序列。但是,我得到一個ArrayOutOfBoundsException。我是使用增強for循環迭代的新手,所以我的錯誤可能隱藏在某處。直到if語句參數被滿足纔會發生。ArrayIndexOutOfBounds增強for循環
private String dnaToRNA(String input) {
StringBuilder b = new StringBuilder();
char[] arr = input.toCharArray();
for (char a : arr) {
if (a == 'T') {
arr[a] ='U';
}
}
for (char a : arr) {
if (a == 'A'){
b.append ('U');
}
else if (a == 'U') {
b.append('A');
}
else if (a == 'C') {
b.append('G');
}
else if (a == 'G') {
b.append('C');
}
}
return b.reverse().toString();
}
}
public void transcribe(int pos1) {
if (pos1 > linkedList.size()) {
System.out.println("Position selected out of range");
return;
}
if (linkedList.get(pos1) != null && isValidDNA(linkedList.get(pos1))) {
linkedList.set(pos1, dnaToRNA(linkedList.get(pos1)));
}
}
更換'如果(POS 1> linkedList.size())'和'如果(POS 1> = linkedList.size())'因爲索引是0〜基於java – 2014-10-20 19:32:23
如果我真的這樣做,我會得到相同的錯誤消息。 – Mk2004 2014-10-20 19:35:22