如何在for循环中循环字符串数组

时间:2017-02-18 12:39:22

标签: java arrays loops for-loop

我想知道我如何做一个for循环来做一个for循环,以便根据用户输入的玩家数量在他们的骰子旁边显示玩家姓名名称。

HttpClient

2 个答案:

答案 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];
}