我在代码中收到“必须是数组类型,但它解析为字符串”错误。它还说 i (在下面的代码中)无法解析为我没有得到的变量。
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,因此你会失去准确性 - 相反 - 将其中一个 int
转换为 双
:
double answer = count/(double)dna.length();
关于java - 必须是数组类型但解析为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60363030/