0

前阵。

  String[] player = {"Empty","Empty","Empty","Empty"}

输入后的数组。

String[] player = {"Tom","Bob","Alex","Kid"}

我记得有一种方法可以检查数组的所有元素。

if(!player[0].equals("Empty") && !player[1].equals("Empty") && !player[2].equals("Empty") && !player[3].equals("Empty"))
{
   System.out.println("No more space");
}

我的问题。有没有办法选择数组的所有元素?

4

3 回答 3

1

你的意思是这样的:

boolean hasEmpty = false;

for (int i = 0; i < player.length(); i ++)
{
     if(player[i].equals("Empty")){
         hasEmpty = true;
         break;
     }
}

if(hasEmpty) System.out.println("No more space");
于 2013-01-13T00:52:09.630 回答
1

我知道这可能不是一个选项,但在 Java 8 中你可以这样做

boolean nonEmpty = Arrays.asList(player).anyMatch(x -> x.equals("Empty"))
于 2013-01-13T01:17:33.030 回答
0

您可以隐式迭代数组:

if(!Arrays.asList(player).contains("Empty"))
   System.out.println("No more space.");

或显式迭代数组:

for(String p : player)
{
    if(!p.equals("Empty"))
       continue;
    else
    {
       System.out.println("No more space.");
       break;
    }
}
于 2013-01-13T00:49:44.157 回答