如何在java中向char数组添加char值
我试图将字符的补码结果放入字符数组补码1中。我想我可以使用运算符,但这只适用于字符串,但我很难弄清楚如何将每个字母放入数组中,以便它可以显示结果。任何帮助都很好,谢谢你如何在java中向char数组添加char值,java,arrays,char,Java,Arrays,Char,我试图将字符的补码结果放入字符数组补码1中。我想我可以使用运算符,但这只适用于字符串,但我很难弄清楚如何将每个字母放入数组中,以便它可以显示结果。任何帮助都很好,谢谢你 public static char[] complement(char[] dna) { char[] complement1 = new char[17]; char comp = '\0'; for (char i
public static char[] complement(char[] dna) {
char[] complement1 = new char[17];
char comp = '\0';
for (char i = 0; i < dna.length; i++)
if (dna[i] == 'A') {
comp = 'T';
} else if (dna[i] == 'T') {
comp = 'A';
} else if (dna[i] == 'G') {
comp = 'C';
} else if (dna[i] == 'C') {
comp = 'G';
} else {
return null;
}
for (char c : dna)
return complement1;
return complement1;
}
public static void main(String[] args) {
String testData1 = "GCCTGTCGTAGCTTATC",
testData2 = "GGCTGACGTAGCGTAAC";
System.out.printf("%s <-- complement --> %s%n", testData1,
complement(testData1));
// int[] baseCounts = nucleotideCounts(testData1);
// System.out.printf("Nucleotide counts for %s: A: %d C: %d G: %d T: %d%n",
// testData1, baseCounts[0],
// baseCounts[1], baseCounts[2], baseCounts[3]);
System.out.printf("%s <-- reverse complement --> %s%n",
testData1, reverseComplement(testData1));
System.out.printf("%s GC-content: %f%n", testData1,
gcContent(testData1));
System.out.printf("Hamming distance between %s and %s: %d%n",
testData1, testData2,
hammingDistance(testData1, testData2));
// System.out.printf("Mutation points between %s and %s:%n%s%n", testData1,
// testData2,
// Arrays.toString(mutationPoints(testData1, testData2))); */
}
}
公共静态字符[]补码(字符[]dna){
char[]1=新字符[17];
char comp='\0';
对于(字符i=0;i
使用switch
语句映射核苷酸可以简化代码
另外,补码
的长度固定为与输入dna
的长度相同,如果输入无效,则引发运行时异常
公共静态字符串补码(字符串dna){
final int n=dna.length();
字符[]补码=新字符[n];
对于(int i=0;i
试验
String testData1=“GCCTGTCGTAGCTTATC”,
testData2=“ggctgacgtagtaac”;
System.out.printf(“%s%s%n”,testData1,补码(testData1));
System.out.printf(“%s%s%n”,testData2,补码(testData2));
输出:
GCCTGTCGTAGCTTATC <-- complement --> CGGACAGCATCGAATAG
GGCTGACGTAGCGTAAC <-- complement --> CCGACTGCATCGCATTG
GCCTGTCGTAGCTTATC cggacagcatcgatag
GGCTGACGTACGTAAC CCGACTGCATCGCATG
上一个forloop毫无意义。要将字母分配给数组,请执行以下操作:dna[i]='a'
,其中i
是索引,不能超过数组的length-1
。只需重复更改comp
变量。您从未将其设置为complement1
数组中的值。您无法真正“添加”到数组中。将数组中的值设置为complement1[0]=“c”
中的值更为正确。但是在您的例子中,如果您只是使用现有的字符串运算符构建字符串,然后在最后调用yur string上的tocharray()
方法将其转换为字符数组,则可能会更简单。我将其更改为字符串,这使它变得更简单,感谢上帝
GCCTGTCGTAGCTTATC <-- complement --> CGGACAGCATCGAATAG
GGCTGACGTAGCGTAAC <-- complement --> CCGACTGCATCGCATTG