2015-06-22 44 views
-1

我是新來的Java(請溫柔!)我正在通過Coding Bat的Java數組問題工作,並且發現自己被代碼的下面部分弄糊塗了。我不知道爲什麼我不能使用以下行:問題與array.length語法,使用方括號vs不是布爾操作?

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

順便提一下,可以編寫代碼而不條件:'返回nums.length> = 1個&& NUMS [0] == NUM​​S [nums.length-1];'是相同的。 –

+0

太棒了,謝謝安迪! :) – Mandy

回答

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]); 
} 
3

nums[nums.length-1]爲您提供了數組中包含的最後一個元素。 nums.length-1爲您提供了數組的長度減1(我認爲這是一個沒有真正有用的信息:)