我想知道我如何做一个for循环来做一个for循环,以便根据用户输入的玩家数量在他们的骰子旁边显示玩家姓名名称。
HttpClient
答案 0 :(得分:3)
由于您已经有6个player
变量,您可以将它们放入一个数组中,然后获取该数组的一部分副本。没有明确的循环要求:
String[] aPlayers = {player1, player2, player3, player4, player5, player6};
System.arraycopy(aPlayers, 0, players, 0, num_of_players);
请注意,您只需设置num_of_players
的第一个players
元素,最后会有null
个元素(或者已经存在于这些元素中的任何元素) ;并且for循环仍将迭代这些元素。
如果这不是您想要的,您可能需要考虑将较小的列表分配给players
:
players = Arrays.copyOfRange(aPlayers, 0, num_of_players);
或者您可以将数组包装在列表中并获取子列表:
for (String y : Arrays.asList(players).subList(0, num_of_players)) {
答案 1 :(得分:1)
不确定循环是否适用于此,但这种简化是可能的,因为每个块重复以前的工作...
if (num_of_players == 1) {
players[0] = player1;
}
if (num_of_players >= 2) {
players[1] = player2;
}
if (num_of_players >= 3) {
players[2] = player3;
}
if (num_of_players >= 4) {
players[3] = player4;
}
if (num_of_players >= 5) {
players[4] = player5;
}
if (num_of_players >= 6) {
players[5] = player6;
}
解决此问题的另一种方法是创建一个数组并将其与循环一起使用。更好的是player1,player2变量将是一个数组开始。
String [] playersArray = {player1, player2, player3, player4, player5, player6};
for (int i = 0; i< num_of_players; i++) {
players[i] = playersArray[i];
}