我一直在进行一些基础教程。其中之一要求我设置一个数组以容纳以下字符串值:

Beyonce (f)
David Bowie (m)
Elvis Costello (m)
Madonna (f)
Elton John (m)
Charles Aznavour (m)

编写一个循环程序,计算男性歌手的人数和女性歌手的人数,并在控制台中显示我的答案。

我设法完成它,但是设置阵列的方法与提供的答案不同。

我的如下:
String names[] = {"Beyonce (f)", "David Bowie (m)", "Elvis Costello (m)", "Madonna (f)", "Elton John (m)", "Charles Aznavour (m)"};

提供的答案是这样的:
String[] singers = new String[6];
singers[0] = "Beyonce (f)";
singers[1] = "David Bowie (m)";
singers[2] = "Elvis Costello (m)";
singers[3] = "Madonna (f)";
singers[4] = "Elton John (m)";
singers[5] = "Charles Aznavour (m)";

我应该创建一个"new"数组吗?如果是这样,为什么?两者之间有什么区别?

最佳答案

您的答案是等效的,但更具可读性,并且更不易出错,因为您无需为每个数组元素都配备任何“魔数”,而不必担心会从数组定义中访问元素,从而创建一个IndexOutOfBoundsException

10-05 21:35