我想弄清楚一部分的任务,我一直在我的头撞墙一段时间了。我试图将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