Я пишу метод, который должен перебирать строку и увеличивать счетчик каждый раз, когда обнаруживается буква c
.Метод использует счетчик для вычисления доли строки, которая была c
.Я добавил операторы print, чтобы выяснить, почему он ошибочно возвращал 0.0
для строки, в которой было несколько c
.
Я попытался объявить счетчик как int
, а затем привести его к double
, но это не помогло.
public double cRatio() {
String dna = "ATCCCCCCGTACCTAGCAA";
double cCount = 0.0;
for (int i = 0; i < dna.length(); i++) {
char ch = dna.charAt(i);
if (ch == 'c') {cCount++;}
}
System.out.println("C Count is : " + cCount);
System.out.println("dna.length() is : " + dna.length());
double cgRatio = (cCount / dna.length());
System.out.println("C Ratio is : " + cgRatio);
return cgRatio;
}
Я ожидаю, что счетчик будет иметь значение 9.0в то время, когда он печатается, но вместо этого он равен 0.0.