gpt4 book ai didi

java - charAt 方法出了什么问题?

转载 作者:行者123 更新时间:2023-11-30 08:55:11 28 4
gpt4 key购买 nike

程序的这一部分给我带来了麻烦。该文件正在被程序正确接收。没有 charAt 方法程序运行完美。我不太确定问题出在哪里。显然这不是整个程序,只是给我一个错误的部分。

错误:

java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(Unknown Source) at GenSeq.main(GenSeq.java:111) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)

程序:

do{
line = inputStream.nextLine();
line = line.trim();

if (line.charAt(0) == '>'){
//Checking to see if it's an information line
info = info + line;
count++;
//Used to count the number of entries
}
else{
seq = seq + line;
//Concatenating the sequence together
}
while (inputStream.hasNextLine());
inputStream.close();

编辑:我们正在处理 DNA 和 RNA 序列,因此它唯一可以开头的字母是 A、T、C、G 或 U。为了处理空白行,我现在尝试这样做。虽然仍然收到错误。

do{
line = inputStream.nextLine();
char first = line.charAt(0);

if (first == '>'){
//Checking to see if it's an information line
info = info + line;
count++;
//Used to count the number of entries
}

if (first == 'A' || first == 'T' || first == 'G' || first == 'C' || first == 'U'){
seq = seq + line;
}
}
while (inputStream.hasNextLine());
inputStream.close();

最佳答案

可能的解决方案是将 line.charAt(0) == '>' 替换为 line.startsWith (">") 至少可以解决数组的问题您可以从那里完成调试。

关于java - charAt 方法出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29178144/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com