我对Android / Java编程比较陌生。 我正在创建一个基于文本的社交游戏,并创建了一个包含ID,名称,角色的SQLite数据库。
角色将由应用程序分配并存储在相关的SQLite表中。
由于角色是随机的,我想的可能是1到7的随机数生成器(2个独特角色,2个相同角色和3个相同角色)
我被困在哪里开始以及如何实现此功能,任何帮助/建议将不胜感激。
答案 0 :(得分:0)
在其中最简单的本质......你只想生成一个随机数:
Random rand = new Random();
final int MAX_INT = 7;
int n = rand.nextInt(MAX_INT) + 1;
//7 is the maximum and the 1 is our minimum
答案 1 :(得分:0)
由于您的实际任务是角色分配,因此您不会查找真正的随机数。您有一组固定的可用数字,并希望没有重复,只需一次 。
实现此目标的最简单方法是将所有可用数字放入列表中,然后shuffle:
import java.util.*;
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
Collections.shuffle(numbers);
System.out.println(numbers);
}
}
您可以使用任何类型的列表,因此如果您只对您的角色字符串感兴趣,则可以完全跳过这些数字:
import java.util.*;
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
List<String> roles = Arrays.asList("M", "M", "A", "D", "C", "C");
Collections.shuffle(roles);
System.out.println(roles);
}
}
在ideone上查看working example。