Выберите случайное значение из Go Slice

finalize будет распечатывать счетчик для создания класса.

protected void finalize() throws Throwable {
    System.out.println("Run F" );
    if ( checkedOut)
        System.out.println("Error: Checked out");
        System.out.println("Class Create Count: " + classCreate);
}

main

while ( true) {
    Book novel=new Book(true);
    //System.out.println(novel.checkedOut);
    //Runtime.getRuntime().runFinalization();
    novel.checkIn();
    new Book(true);
    //System.runFinalization();
    System.gc();

Как вы можете видеть. Следующий вывод показывает, что gc был выполнен в первый раз, когда число классов равно 36.

C:\javaCode\firstClass>java TerminationCondition
Run F
Error: Checked out
Class Create Count: 36
Run F
Error: Checked out
Class Create Count: 48
Run F
29
задан Rene Knop 14 November 2018 в 23:45
поделиться

1 ответ

Используйте функцию Intn из пакета rand для выбора случайного индекса.

import (
  "math/rand"
  "time"
)

// ...

rand.Seed(time.Now().Unix()) // initialize global pseudo random generator
message := fmt.Sprint("Gonna work from home...", reasons[rand.Intn(len(reasons))])

Другим решением является использование объекта Rand.

s := rand.NewSource(time.Now().Unix())
r := rand.New(s) // initialize local pseudorandom generator 
r.Intn(len(reasons))
68
ответ дан jlowgren 14 November 2018 в 23:45
поделиться
  • 1
    Ping? Симпатичный обновите или удалите ответ с тех пор it' s теперь устаревший? You' ll сохраняют репутацию. – Dan Dascalescu 31 January 2015 в 23:37
  • 2
    Ping? Симпатичный обновите или удалите ответ с тех пор it' s теперь устаревший? You' ll сохраняют репутацию. – Dan Dascalescu 31 January 2015 в 23:37
  • 3
    Ping? Симпатичный обновите или удалите ответ с тех пор it' s теперь устаревший? You' ll сохраняют репутацию. – Dan Dascalescu 31 January 2015 в 23:37
  • 4
    Ping? Симпатичный обновите или удалите ответ с тех пор it' s теперь устаревший? You' ll сохраняют репутацию. – Dan Dascalescu 31 January 2015 в 23:37
  • 5
    Ping? Симпатичный обновите или удалите ответ с тех пор it' s теперь устаревший? You' ll сохраняют репутацию. – Dan Dascalescu 31 January 2015 в 23:37
Другие вопросы по тегам:

Похожие вопросы: