我需要添加例外,以便无法再次生成已经生成的数字。所以为了生成一个随机数,我试试这个。我制作了两个数组列表,每个数组列表包含 1 到 14 之间的 14 个数字: ArrayList<Integer> Numbers1 = new ArrayList<Integer>(); ArrayList<Integer> Numbers2 = new ArrayList<Integer>(); Numbers1.add(0); Numbers1.add(1); Numbers1.add(2); Numbers1.add(3); Numbers1.add(4); Numbers1.add(5); Numbers1.add(6); Numbers1.add(7); Numbers1.add(8); Numbers1.add(9); Numbers1.add(10); Numbers1.add(11); Numbers1.add(12); Numbers1.add(13); Numbers1.add(14); Numbers2.add(0); Numbers2.add(1); Numbers2.add(2); Numbers2.add(3); Numbers2.add(4); Numbers2.add(5); Numbers2.add(6); Numbers2.add(7); Numbers2.add(8); Numbers2.add(9); Numbers2.add(10); Numbers2.add(11); Numbers2.add(12); Numbers2.add(13); Numbers2.add(14);然后我制作一个随机数,从每个数组列表中取 1 个数字 Random Calc = new Random(); Num1 = Numbers1.get(Calc.nextInt(Numbers1.size())); Num2 = Numbers2.get(Calc.nextInt(Numbers2.size()));然后我制作一个整数,将随机选择的两个随机数相乘 FinalInt = Num1 * Num2;然后我有一个包含 200 个字符串的 HashMap: HashMap<Integer, String> points = new HashMap<Integer, String>(); points.put(1, "String1"); points.put(2, "String2"); points.put(3, "String3"); points.put(4, "String4"); points.put(5, "String5"); //And so on until 200 TextView textview1.setText(points.get(FinalInt))如果 FinalInt 生成数字 1,它会将 textview1 设置为“String1”。所以我需要如果 FinalInt 再次为 1 来重做 num1 * num2 所以它不是 1。
1 回答
暮色呼如
TA贡献1853条经验 获得超9个赞
您可以用于Set<Integer>
存储数字。这将确保您始终拥有“唯一”号码。
现在..
if(Set.add(x))
如果此行给出错误,您可以撤消更改并再次生成数字
添加回答
举报
0/150
提交
取消