отслеживать, сколько чисел и счетчик в массиве - PullRequest
0 голосов
/ 03 июня 2011

Мне нужно узнать, сколько голосов у каждого.У меня есть подсчет, который подсчитал, сколько в игре есть кандидатов, и их было 5. И теперь у меня есть куча цифр от массива, которые мне нужно подсчитать, как проголосовали за каждого кандидата, и количество кандидатов меняется в зависимости от того, какого массива я использую, нов тестовых целях я использую test5, который имеет 5.

 //Numbers from arraylist:
1
1
2
5
2
5
5
5

это мой код

// My code
for (int i=1; i <output.size(); i++){
        char checkBallot = output.get(i).charAt(1); 
        //candidate is array to track how many output as what 
                    // output is array of numbers I want to count. 
        String aString = Character.toString(checkBallot);
        int c = Integer.parseInt(aString);
        int b = c; 
        for (int p= 0; p < count; p++){
            if(c == p+1){
                int oldvalue =0; 
                candidate[c] = c+ oldvalue ;
                oldvalue = c ;
                System.out.println("this is the counter:" +c);
            }

        }

Ответы [ 2 ]

2 голосов
/ 03 июня 2011

Я думаю, вам следует избавиться от oldvalue и использовать ++candidate[c]; вместо этих трех строк.Предполагая, что я понимаю ваш код, а я едва понимаю.

0 голосов
/ 03 июня 2011

Чтобы подсчитать, сколько 1,2,3,4,5 есть в выходном массиве: если у вас есть ArrayList из целых чисел:

final int[] candidate = new int[count];
for(int i : output)
    candidate[i]++;

в предположении, что "count" является наибольшим значением, котороевы можете найти в ArrayList.

Вместо этого, если у вас есть ArrayList строк, вы пишете

final int[] candidate = new int[count];
for(String i : output)
    candidate[Integer.parseInt(i)]++;
...