2016-07-14 3 views
3

У меня возникли проблемы с простой проблемой Список_массивов я получаю неправильный вывод, похоже, программа подсчета количества строк в ArrayList вместо подсчета символов, которые являются гласныенаписать метод, называемый averageVowels

import java.util.*; 

public class AverageVowels { 
    public static void main(String[] args) { 
    ArrayList<String> list = new ArrayList<String>(); 
    list.add("Tooo"); 
    list.add("beee"); 
    list.add("ooor"); 
    list.add("nooot"); 
    list.add("Toooo"); 
    list.add("beeee"); 

    averageVowels(list); 
    } 

    public static double averageVowels(ArrayList<String> list) { 
    double count = 0; 
    for (int i = 0; i < list.size(); i++) { 
     if (list.get(i).contains("a") 
      || list.get(i).contains("e") 
      || list.get(i).contains("i") 
      || list.get(i).contains("o") 
      || list.get(i).contains("u")) {} 

     count++; 
    } 
    double average = (double) list.size()/count; 
    System.out.println(average); 
    return average; 
    } 
} 
+2

Даже если петля была правильной, она также не вычисляет среднее значение правильно. –

ответ

4

Вы испытываете в своем состоянии всякий раз, когда найдете слово, содержащее любые гласные (и вы ничего не делаете, если условие истинно, что является другой проблемой).

Вы не считаете отдельные гласные в каждом слове.

Вы должны перебрать символы каждого из входных слов, чтобы подсчитать общее количество гласных.

for (String word : list) { 
    for (int j = 0; j < word.length(); j++) { 
     if (word.charAt(j)=='a'||word.charAt(j)=='e'||word.charAt(j)=='i'||word.charAt(j)=='o'||word.charAt(j)=='u') { 
      count++; 
     } 
    } 
} 

Кроме того, вы получили средний расчет назад. Оно должно быть:

double average = (double)count/list.size(); 

Общее количество гласных звуков, поделенное на количество слов, дает среднее число гласных в слове.

+2

@ PM77-1 Может быть, я должен был написать - «вы намеревались увеличить счет ...» :). Тот факт, что граф ++ был вне условия, казался менее актуальным, учитывая, что само условие было неправильным. – Eran

+0

Спасибо, вот что мне нужно для сохранения, как вы знаете java, можете ли вы дать мне какие-нибудь указатели? –

+0

и я не знаю, как использовать отладчик, вот почему я не так хорош для циклов и вложенных для циклов (например, я не могу создать звездный шаблон для своей жизни). Я отлаживаю в своей голове .... .. как я могу научиться? –

Смежные вопросы