java - 每个循环的两个之间的控制流
问题描述
嘿,伙计们,我很感激你们能给我的任何智慧。
我的问题是:我不能让它循环遍历两个数组,所以我可以比较每个数组的元素并得到结果。
我已经尝试删除中断,但它仍然没有通过第一个数组循环,它只是不断循环通过第二个数组并打印它对不起,如果被问到我找不到我要找的东西。
outerloop:
for(int i=1;i<7;i++){
System.out.print("Round No: " + i + "-");
for(int x : Player1) {
for(int y : Player2) {
if (x < y) {
System.out.println(" Player 1 wins the round: " + x + " beats " + y);
} else if (x > y) {
System.out.println(" Player 2 wins the round: " + y + " beats " + x);
} else {
System.out.println("Tie!" + x + " ties with " + y);
break outerloop;
}
}
}
}
我从中得到的结果是它只循环通过第一个数组一次,然后循环并比较第二个数组中的所有内容
我试图让它同时做这两件事。..................................................... ..................................................... ....................................................
解决方案
一个想法,如果您的玩家 1 和 2 对象中有相同数量的元素,为什么不将它们放在单独的数组中,然后只处理其中一个的出现率呢?如下例所示:
List<Integer> p1 = new ArrayList<>();
List<Integer> p2 = new ArrayList<>();
for(int x: Player1) {
p1.add(x);
}
for(int y: Player2) {
p2.add(y);
}
for(int i=0;i<p1.size(); i++) {
x = p1.get(i);
y = p2.get(i);
if (x < y) {
System.out.println(" Player 1 wins the round: " + x + " beats " + y);
} else if (x > y) {
System.out.println(" Player 2 wins the round: " + y + " beats " + x);
} else {
System.out.println("Tie!" + x + " ties with " + y);
}
}
推荐阅读
- ios - 应用商店连接问题,他们说我有 HealthKit 但我没有
- cytoscape - Cytoscape 直通映射
- ruby-on-rails - Rails 包括行为?
- javascript - 如何从工作集中访问全局/窗口范围?(JavaScript 前端)
- arduino - 压电电机的 Arduino MKR (RS)485 错误
- php - 通过 acme.sh snap 包使用 PHP shell_exec 命令自动安装 Letsencrypt SSL 证书
- python - While 循环不会回到开头
- r - R,具有唯一位置和日期组合的重复项列表
- java - Zebra RFID API 读取访问操作代码返回 null
- javascript - 如何在数组中查找数组