我有一个简单的应用程序,可以生成事实。我想结合一个生成随机事实而不是递减递减的函数。
我的数组看起来像这样。
cmake_minimum_required(VERSION 3.4)
project(String)
include_directories(./include/cryptopp563/)
#link_directories(./include/cryptopp563/)
add_subdirectory(./include/cryptopp563/)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
find_library(cryptopp include/cryptopp563/)
set(SOURCE_FILES main.cpp String.cpp String.h RsaString.cpp RsaString.h)
add_library(RsaString STATIC RsaString.cpp)
add_library(String STATIC String.cpp)
#add_executable(Teste ${SOURCE_FILES})
答案 0 :(得分:2)
简单!方法nextInt(facts.length)
返回0和数组长度之间的随机整数。将它作为数组的索引来获取随机数:
Random rnd = new Random()
String randomFact = facts[rnd.nextInt(facts.length)];
答案 1 :(得分:1)
试试这个
private Integer a = 0;
public String randomButton() {
Random random = new Random();
a = random.nextInt(facts.length);
}
String factNumber = facts.a;
答案 2 :(得分:1)
使用random class。该类有一个方法,nextInt(int n)
(doc)和引用:
返回一个伪随机数,在0之间均匀分布的int值 (包括)和指定值(不包括),由此得出 随机数发生器的序列。 nextInt的总合约是 伪随机生成指定范围内的一个int值 并返回。所有n个可能的int值都是用 (大约)概率相等......
所以,你需要一个实际上是随机事实的随机数,所以在零和事实数组大小之间生成一个随机数:
public String randomButton() {
Random random = new Random();
return facts[random.nextInt(facts.length)];
}