当前位置: 首页 > 知识库问答 >
问题:

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

孟光耀
2023-03-14

我在代码中收到“必须是数组类型,但它解析为字符串”错误。它还说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编码的新手,所以我对这种格式还不完全满意。

非常感谢,朱奈德

共有3个答案

蓬弘
2023-03-14

我认为你目前在括号方面有点弱,这是我从你的代码中了解到的,并且已经改正了;

public class DNAcgcount{

    public double ratio(String dna){
    int count=0;
    for (int i=0;i<dna.length();i++){
        if (dna.charAt(i)== 'c')
        count+= 1;
        if (dna.charAt(i)=='g')
        count+=1;
    }
        double answer = count/(double)dna.length();
        return answer;
    }
}

在if之后,当if中的内容结束时,我们必须关闭括号。我想你希望< code>count是< code>c或< code>g出现在< code>dna中的次数。你还犯了一些其他的错误,比如你必须使用< code>'c'和< code>'g',而不是< code>"c"和< code>"g",如果你使用的是< code >。charAt(i)因为它会被当作一个字符,然后只有你可以比较。您可以查看此链接http://docs . Oracle . com/javase/tutorial/Java/nutsandbolts/if . html http://docs . Oracle . com/javase/tutorial/Java/nutsandbolts/for . html

你也可以看看你能用字符串做的工作,比如charAt。

丁学
2023-03-14

使用 {} 定义循环的作用域。此外,正如其他人已经指出的那样,使用charAt代替[],对字符使用',并使用浮点除法作为比率

for (int i = 0; i < dna.length(); i++) {
    if (dna.charAt(i) == 'c') {
        count += 1;
    }
    if (dna.charAt(i) == 'g') {
        count += 1;
    }
}

或者稍微短一点,使用||或将两个子句放在一起

if (dna.charAt(i) == 'c' || dna.charAt(i) == 'g') {
    count += 1;
}
麻鹏鹍
2023-03-14

您不能使用下标 (dna[i]) 访问字符串的字符。请改用字符:

dna.charAt(i) == 'c'

此外,“c”字符串“c”字符

还有一件事 - 整数除法(例如int_a/int_b)导致int,因此您失去了准确性,而是将其中一个ints转换为双精度

double answer = count/(double)dna.length();
 类似资料:
  • 我不知道我的代码发生了什么。我似乎无法弄清楚为什么数组会给我这个错误。该行是特别是 我的代码:

  • 我是爪哇的新手。我不明白为什么会发生这些错误。尝试创建一个数组列表,以便它保存每个对象。我得到的错误是 表达式的类型必须是数组类型,但它解析为数组列表上的行“newbug1[i].setpecies();” 提前致谢

  • 问题内容: 如何更改查询以免发生此错误: XML数据类型方法“ alue”必须是字符串文字 T-SQL代码: 问题答案: 对于value方法,不能以这种方式将变量串联为字符串。您需要使用。 因此,您的示例将如下所示:

  • 我正在开发一个electron应用程序,它试图从unsplash API下载一张照片,并将其设置为壁纸。当我调用API时,我得到200 OK状态并获得下载URL,但当我尝试使用axios stream方法下载照片时,我得到以下错误: 类型错误[ERR_INVALID_ARG_TYPE]:url参数必须是字符串类型。接收类型未定义 这是功能代码: 当我试图在函数中console.logDownloa

  • 运行此代码时 我得到这个错误 read_bikeins=pdf。PdfFileReader(bikeins)回溯(最近一次呼叫最后一次): 文件“”,第1行,以read\u bikeins=pdf格式。PdfFileReader(比基恩) 文件“C:\Users\Naveen Raj\Anaconda3\lib\site packages\PyPDF2\pdf.py”,第1084行,在init s