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);
}