
Здравствуйте! Я хотел бы поделиться своим опытом работы с классом-конструктором, который принимает строки с данными об игрушках и их частоте выпадения.
Вначале я создал класс Toy, который имеет три поля⁚ id игрушки, название и частоту выпадения. В конструкторе класса я передал эти три строки и инициализировал соответствующие поля.
java
public class Toy {
private int id;
private String name;
private int frequency;
public Toy(int id, String name, int frequency) {
this.id id;
this.name name;
this.frequency frequency;
}
// Геттеры и сеттеры для полей
}
Затем я создал три массива, чтобы хранить данные об игрушках. Каждый массив содержит одну из трех категорий игрушек.
java
Toy[] toys1 new Toy[10];
Toy[] toys2 new Toy[10];
Toy[] toys3 new Toy[10];
После этого я использовал коллекцию PriorityQueue из пакета java.util для создания общей очереди и добавления элементов в нее.
java
PriorityQueue
// Заполняем очередь с использованием API
for (int i 0; i < toys1.length; i ) {
queue.add(toys1[i]);
}
for (int i 0; i < toys2.length; i ) {
queue.add(toys2[i]);
}
for (int i 0; i < toys3.length; i ) {
queue.add(toys3[i]);
}
Наконец, я вызвал метод Get 10 раз и записал каждый результат в файл. В методе Get я использовал случайную генерацию числа, чтобы вернуть либо ″2″, либо ″3″ в соответствии с их весом.java
try {
FileWriter fileWriter new FileWriter(″result.txt″);
BufferedWriter bufferedWriter new BufferedWriter(fileWriter);
for (int i 0; i < 10; i ) {
double random Math.random;
String result;
if (random < 0.2) {
result ″1″;
} else if (random > 0.2 nn random < 0.4) {
result ″2″;
} else {
result ″3″;
}
bufferedWriter.write(result);
bufferedWriter.newLine;
}
bufferedWriter.close;
fileWriter;close;
} catch (IOException e) {
e.printStackTrace;
}
Теперь я могу использовать этот код для создания общей очереди игрушек, генерации случайного результата и записи его в файл. Я очень доволен результатом и надеюсь, что мой опыт поможет и вам!