我是Java的新手(请温柔!)我正在通过Coding Bat的Java数组问题工作,并发现自己对下面的代码段感到困惑。我想知道为什么我不能使用以下行:
if (nums.length >=1 && nums[0]==nums.length-1) {
正确的代码是:
if (nums.length >=1 && nums[0]==nums[nums.length-1]) {
编码蝙蝠问题基本上是正确的,如果第一个&数组的最后一个元素是相同的,并且数组有一个或多个元素。
“
之间究竟有什么区别?nums[nums.length-1]
和
nums.length-1
我试着寻找这个并且可以找到任何东西,如果在其他地方已经解释过这个道歉。
完整的参考代码:
public boolean sameFirstLast(int[] nums) {
if (nums.length >=1 && nums[0]==nums[nums.length-1]) {
return true;
}
return false;
}
答案 0 :(得分:3)
nums[nums.length-1]
为您提供数组中最后一个元素CONTAINED。
nums.length-1
给出数组的长度减去1(我认为这不是一个非常有用的信息:)
答案 1 :(得分:0)
nums [nums.length-1]为您提供数组中最后一个元素
数组可以是int,char或任何你想要的,元素与数组的类型相同。
nums.length-1为您提供数组的长度减去1
它总是一个int:最后一个位置。
关于代码引用,避免检查条件以返回布尔结果。更好:
public boolean sameFirstLast(int[] nums) {
return (nums.length >=1 && nums[0]==nums[nums.length-1]);
}