- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作一个应用程序“ secret friend ”,我有这个:
int start2;
for (int i = 0; i < lista.size(); i++) {
start2 = random.nextInt(lista2.size() - 0) + 0;
if (lista2.get(start2).equals(lista.get(i))) {
break;
} else {
listaParejas.add(lista.get(i) + "->" + lista2.get(start2));
listaSalidos.add(lista2.get(start2));
lista2.remove(start2);
//lista.remove(i);
}
}
lista 和 lista2 被打乱,所以例如 lista 有 Daniel,lista2 有 Michael,所以 listaParejas 将有“Daniel->Michael”,但有时它会像“Daniel->Daniel”,所以在第一个 ir 中我我正在努力避免这种情况,我怎样才能像第一个 IF 那样进行回合不计入 FOR,谢谢,我很绝望,因为我已经尝试了又尝试,但什么也没有:(
最佳答案
你在现实生活中过得怎么样?
进行随机分配,如果不匹配则重复整个过程。如果你是为一小群 friend 做这件事,重复起来很快。如果您是为一大群 friend 这样做,则不太可能出现不匹配的情况。
另一种方法:
你有捐赠者和接受者。第一个捐赠者会随机得到一张写有接受者姓名的纸条;如果没有不匹配,则捐赠者和接收者都将退休(没有人是两次捐赠者,没有人是两次接收者)。如果捐赠者(除了最后一个)获得了自己的论文,他会选择另一个随机接收者(或者可能只是下一个可用的接收者)。
唯一复杂的情况是最后一位捐赠者取回最后一张纸条并在上面发现自己的名字。在这种情况下,您只需与任何其他捐赠者交换(如果 Daniel->Daniel
是最后一对,您确定 Daniel
不会出现为捐赠者或之前任何配对中的接收者,因此您将 Daniel->Daniel; John->Michael
转换为 Daniel->Michael; John->Daniel
)。
在编写第一行代码之前,您应该真正知道如何解决问题;仅使用键盘并不会单独出现解决方案。
关于java - 如何避免 FOR JAVA 的一轮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34247532/
我是一名优秀的程序员,十分优秀!