2016-07-24 5 views
0

Для кода, как указано ниже:Ошибка при определении частоты строки в массив строк

String array = "AB AB AB AB"; 
    String[] part = array.split(" "); 
    int cc = Collections.frequency(Arrays.asList(array), part[0]); 
    System.out.println("Count: " + cc); 

Я получаю выход:

0 

тогда, желаемый выход:

4 
+3

Вы сделали опечатку: это должно быть 'Arrays.asList (part)', а не 'Arrays.asList (array)'. – Tunaki

+2

Вопросы о проблеме, которые *** больше не могут быть воспроизведены или вызваны простой типографской ошибкой ***. Хотя подобные вопросы могут быть по-теме здесь, они часто разрешаются в манере, которая вряд ли поможет будущим читателям. Этого часто можно избежать, указав и внимательно изучив [кратчайшую программу, необходимую для воспроизведения проблемы] (http://stackoverflow.com/help/mcve) перед публикацией. –

+1

Пожалуйста, закройте или удалите этот вопрос. –

ответ

1

В вашем примере у вас есть int cc = Collections.frequency(Arrays.asList(array), part[0]);.

import java.util.Arrays; 
import java.util.Collections; 

public class Test { 

    public static void main(String[] args) { 

     String array = "AB AB AB AB"; 
     String[] part = array.split(" "); 
     int cc = Collections.frequency(Arrays.asList(part), part[0]); 
     System.out.println("Count: " + cc); 

    } 

} 
+0

Да, это должно быть близко проголосовано вместо ответа. –

+2

'// TODO Автоматически созданный метод stub'? Шутки в сторону? – Tunaki

+0

@Tunaki: Eclipse сгенерированный метод so // TODO – sauumum

0

У вас есть опечатка, возможно, в следующей строке, измените массив на части.

int cc = Collections.frequency(Arrays.asList(part), part[0]); 

Arrays.asList (массив) дает вам список как { "AB AB AB AB"}

Arrays.asList (часть) дает вам список как { "AB", "AB", «AB», «AB»}, чего вы действительно хотите.

+0

Опечатка должна быть закрыта, а не отвечать на просьбу. –