我的代码中出现“必须是数组类型,但它解析为字符串”的错误。它还说我(在下面的代码中)无法解析为我没有得到的变量。

    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/

10-11 06:15