在使用Java创建一个二维数组,为什么第二个方面让我用2,而不是1

问题描述:

这部分代码是创建一个二维数组在使用Java创建一个二维数组,为什么第二个方面让我用2,而不是1

System.out.println("How many people do you want to add"); 
peopleadded = userinput.nextInt(); 
String[][] People = new String[peopleadded][2]; 
System.out.println("put your name in the array"); 
People[0][0] = userinput.next(); 
System.out.println("put your password in the array"); 
People[0][1] = userinput.next(); 

我不能取代2使用1因为它会给我一个错误信息。这是为什么?不计数从0开始?

+6

'[2]'表示两个元素的位置从0开始计数,这意味着元素将被索引为'0'和'1'。如果将'[2]'更改为'[1]',它将仅为一个元素创建数组,这意味着索引'1'将无效,因为它将尝试访问第二个元素。 – Pshemo

创建Java中的数组当需要指定在你的情况是然后2.索引将来自去阵列的长度[0]至[长度-1]

enter image description here

数组定义是这样的:

String[] myArray = new String [2]; 

这将创建一个名为数组myarray的可容纳在0级和1索引大二的字符串。

虽然如果用[1]替换[2],它将创建只能容纳一个字符串的myArray。所以在这里,当你尝试在第二个元素上插入一个字符串时,它不会使用myArray [1],它会给你一个错误。

+0

所以基本上,声明中的数字([2])会使两个索引变成0位和1右?所以这就是为什么你必须把2,因为如果你不那么没有地方把密码(参考我的代码)。 – Matthew

+0

@Stk是STK,你说得对。 。 –

+0

感谢您的帮助 – Matthew