我要做的问题如下


  公共静态字符串randomDNAString(int dnaLength)
  / ** * @param dnaLength非负整数* @返回随机字符串
  长度dnaLength由四个字符A,T,G和C组成* /


我以为我做的正确(尽管效率很低),但是它什么也没返回。这是我的代码。任何帮助表示赞赏。

    public static String randomDNAString(int dnaLength){
    Random rand = new Random();
    char[] dna;
    dna = new char[dnaLength];
    for(int i = 0; i<dnaLength;i++){
        int tempC = rand.nextInt(4);
        if(tempC == 0)
            dna[i] = 'A';
        if(tempC == 1)
            dna[i] = 'G';
        if(tempC == 2)
            dna[i] = 'C';
        if(tempC == 3)
            dna[i] = 'T';

    }
    return (java.util.Arrays.toString(dna));
}

最佳答案

另一个答案的建议是使用StringBuilder。但是,您可以使其更简单:

public static String randomDNAString(int dnaLength) {
    Random rand = new Random();
    StringBuilder dna = new StringBuilder(dnaLength);

    for (int i = 0; i < dnaLength; i++) {
        dna.append("ACGT".charAt(rand.nextInt(4)));
    }

    return dna.toString();
}

10-07 16:13