gpt4 book ai didi

java - 如何更换杂合子?

转载 作者:行者123 更新时间:2023-12-01 18:40:00 26 4
gpt4 key购买 nike

我的问题是:如何替换“A:A”或“G:T”......(生物学中的杂合子和纯合子)

我的代码:

 for(int i = 0; i < index1.length(); i++){

if (index1.charAt(i) == 'A:A'){index2 = index1.append('1');}
else if (index1.charAt(i) == 'G:T'){index2 = index1.append('2');}

当我在 Eclipse 中编辑代码时,“charAt(i) == 'A:A' ”和“.charAt(i) == 'G:T' ”显示错误。

我想将字符串中的“A:A”和“G:T”字符替换为特定数字(例如:A:A=1、G:T=2),我怎样才能实现这一目标?谢谢,

最佳答案

如果您总是想将 A:A 替换为 1,将 G:T 替换为 2,那么您只需使用 String 替换即可。

public void formatString(String input)
{
return input.replaceAll("A:A", "1").replaceAll("G:T", "2");
}

您可以根据需要链接任意多个 replace 方法!您不需要确切知道它在哪里。 Java 会为你做这件事(这很聪明)。您只需告诉它您想要摆脱什么,以及您想要在其位置上放置什么!

只是另一种选择

您的另一个选择是使用数组实现在您的杂合子与其各自的数字之间创建映射。您将有一个如下所示的字段:

private String[] heterozygotes;

在你的构造函数中你可以构建它:

public MyClass()
{
heterozygotes = {"A:A", "G:T"};
}

现在,您在位置 0 处得到了 A:A,在位置 1 处得到了 G:T ,因此您可以在您的方法中使用它,如下所示:

public void formatString(String input)
{
for(int x = 0; x < heterozygotes.length; x++) {
//EG: A:A is as position 0, so replace with 0 + 1 = 1.
input = input.replace(heterozygotes[x], String.valueOf(x + 1));
}

return input;
}

这样,您所需要做的就是向数组初始化添加值,并且永远不需要更改方法。

关于java - 如何更换杂合子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20338211/

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