我的代码中出现“必须是数组类型,但它解析为字符串”的错误。它还说我(在下面的代码中)无法解析为我没有得到的变量。
public class DNAcgcount{
public double ratio(String dna){
int count=0;
for (int i=0;i<dna.length();i++);
if (dna[i]== "c"){
count+= 1;
if (dna[i]=="g"){
count+=1;
double answer = count/dna.length();
return answer;
}
}
}
}
你们能帮我弄清楚问题出在哪里吗?我是Java编码的新手,所以我对这种格式还不完全满意。
非常感谢,
朱尼德
最佳答案
您不能使用下标(dna[i]
)访问字符串的字符。使用charAt代替:
dna.charAt(i) == 'c'
此外,
"c"
是String
,'c'
是char
。还有一件事-整数除法(例如
int_a / int_b
)导致一个整数,因此您失去了准确性,而是-将int
之一转换为double
:double answer = count/(double)dna.length();
关于java - 必须为数组类型,但解析为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60363030/