java - 必须是数组类型但解析为字符串

标签 java arrays string

我在代码中收到“必须是数组类型,但它解析为字符串”错误。它还说 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/

相关文章:

mysql - 在另一个选择查询中使用一个选择查询的输出

c - 正在分配的结构内的数组

python - 如何以字符串格式编写多行函数?

python - 在 python 中,如何在我选择的子字符串之前只搜索一个词

c++ - 使用符号构建字符串

java - 是否有必要对 catch block 中的事务进行回滚?

java - 如何在Java中将对象数组转换为字符串数组

javascript - 将字符串数组转换为对象数组

java - Bukkit - 检查玩家是否发送包含初始化 double 的聊天消息

java - Spring boot PUT 操作正在触发对数据库中所有列的查询