从数组中获取随机值

时间:2016-04-24 15:18:11

标签: java arrays

我有一个简单的应用程序,可以生成事实。我想结合一个生成随机事实而不是递减递减的函数。

我的数组看起来像这样。

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})

3 个答案:

答案 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)];
}