且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

双重字符串Java循环

更新时间:2023-11-07 13:48:22

计算没有意义。
你必须迭代你的dna字符串的每个字符,并将它与你的期望值char('C'或'G',大写和小写)比较?
如果你想返回结果作为字符串,您必须将返回类型更改为String。

  public static String gcContent(String dna){
// TODO实现这个方法
char c ='C';
char g ='G';
double gcContent = 0;
double count = 0; (int i = 0; i< dna.length(); i ++){

if(dna.charAt(i)== c || dna.charAt i)== g){
count ++;
}
}
gcContent = count /(double)dna.length();
return String.valueOf(gcContent);
}


Hey so I am trying to get the GC-content of a DNA string is given by the percentage of symbols in the string that are C or G. For example, the GC-content of "AGCTATAG" is .375 or 37.5%. Here is what I came with up. I am having trouble with the calculations and returning the double as string.

public static double gcContent(String dna) {
    //TODO Implement this method
      double gcContent = 0;
      double count=0; 
      for (int i = 0; i < dna.length(); i ++) {
          if (gcContent == dna.length()){
              gcContent = (dna.length()/ 2) ;
          }
          return double.toString (gcContent); 
      }
  }

Your calculation doesnt make sense. You have to iterate over each char of your dna-string and compare this with your expected value char ('C' or 'G', upper and lower case?) If you want to return the result as string, you have to change the return type to String, too.

public static String gcContent(String dna) {
    //TODO Implement this method
    char c = 'C';
    char g = 'G';
      double gcContent = 0;
      double count=0; 
      for (int i = 0; i < dna.length(); i ++) {

          if (dna.charAt(i) == c || dna.charAt(i) == g){
              count++;
          }
      }
      gcContent = count / (double)dna.length();
      return String.valueOf(gcContent); 
  }