2016-01-24 3 views
-4

Мой метод studentIsDoing(); генерирует 20 случайных вещей, которые студент делает в любой момент времени, используя для утверждения. Мне нужна помощь сделать Резюме выхода генерируется из моего метода и процент, что каждый выход генерирует каждый раз (приведенные ниже цифры являются примером, мой percentagess будет меняться):Получение процентов от случайного метода (помощь HW)

Kissing his girlfriend 40% of the time  
swimming 30% of the time  
surfing 30% of the time  
etc... 

импорта java.util.Random;
общественного класса приложение
{
государственной статической силы основных (String [] арг)
{
студент й = новый студент();
st.studentIsDoing();
}
}

Вот пример того, что код считывает из моего класса студентов: Это меняет каждый раз;
Росс Герард: целовать свою подругу
Росс Джерард: Плавание
Росс Джерард: перекусывает
Росс Джерард: Плавание
Росс Джерард: Принимая душ
Росс Джерард: Изучение Java
Росс Герард: перекусывает
Росс Джерард: Танцы
Росс Герард: Чтение бумаги
Росс Герард: целуя свою подругу
Росс Джерард: Алкоголь ING кофе
Росс Джерард: Игра с собаками
Росс Джерард: читает газету
Росс Джерард: Игра с мячом
Росс Герард: Принимая душ
Росс Джерард: чтение бумаги
Росс Герард: Принимая душ
Росс Джерард: прихорашивался в зеркале
Росс Герард: Doing джиу-джитсу
Росс Джерард: Чтение бумаги

+2

Можете ли вы отформатировать свой код, и в чем вопрос? –

+0

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

+0

Итак, вы хотите получить распределение того, что возвращает метод studentIsDoing()? Пусть y - количество раз, когда вы получили определенное значение, вызывающее метод. Тогда процент будет y/общее количество вызовов методов. В основном вам придется отслеживать количество разных возвращаемых значений и общий объем вызовов методов. – user3284549

ответ

1

Если я полагаю, когда-либо у «Студенты» сделать что-то, что дает строку, как «Танцы», «Чтение документа»,

затем:

Используйте Map < Строку, Integer>: по левой строке, как «Танцы », справа, счетчик.

Итерации и удерживайте и увеличивайте счетчики.

Затем, в конце концов, сделать какое-то подразделение, как говорит user3284549

Надеется, что это помогает!

+0

Я бы использовал карту, но не заменил ли дублирующее число вместо дублирования? Извините, это мой первый класс кодирования. –

+0

@RossGerard да, он заменяет, то на каждой итерации вы должны получить значение (или 0), увеличить его и заменить. –

1

Вам просто нужно подсчитать количество случаев, когда каждое действие наблюдается на выходе. Вы можете отслеживать их в массиве. Каждый раз, когда вы видите активность # X, увеличивайте значение в позиции X в массиве. После этого суммируйте общее количество наблюдений в массиве. Затем процент равен numberOfTimesXOccurred/totalNumberOfObservations.

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