gpt4 book ai didi

java - 如何创建包含两个字段的自定义类列表并获取输出?

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

我需要在 Java 中列出一个基因序列以及我关心的部分的起始位置。我使用 .txt 文件作为输入,然后在序列中搜索“GT”。一旦找到它,我想将它存储在具有相应索引的数组中。我做不到。请指导我。

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;


class Signal{
public String signal;
public int pos;
public Signal(String s, int p) {
s = signal;
p = pos;

}


public static String inputSequence(String filename) throws IOException{


FileInputStream stream = new FileInputStream(new File(filename));

try {
FileChannel fc = stream.getChannel();
MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());

return Charset.defaultCharset().decode(bb).toString();

}
finally{
stream.close();
}
}
public static void main(String[] args) {

String c1 = "GT";
String seq = null;
List<Signal> s2 = new ArrayList<Signal>();
String s1;
int i;

try {
seq = inputSequence(path);
} catch (IOException ex) {
Logger.getLogger(Signal.class.getName()).log(Level.SEVERE, null, ex);
}
for (i = 0; i < seq.length() - 2; i++ ) {
s1 = seq.substring(i,i+2);
if (s1.equals(c1)){

Signal ss = new Signal(s1, i);
s2.add(ss);

}

}
System.out.print(s2);

}
}

最佳答案

你的构造函数应该如下所示:

public Signal(String s, int p) {
signal = s;
pos = p;
}

之后它应该可以正常工作。

关于java - 如何创建包含两个字段的自定义类列表并获取输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5088270/

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