我有一個int數組,我已經爲它賦值了一個隨機索引到一個int變量。我想知道是否有辦法檢查數組中來自其分配的變量的索引。Java數組索引檢查
Random rand = new Random();
private int[] cards = {2, 3, 4, 5, 6, 7, 8, 9, 10};
int a = cards[rand.nextInt(8)];
所以我分配從數組變量的值,但我想知道是否有檢查變量看什麼指數爲它來自
我有一個int數組,我已經爲它賦值了一個隨機索引到一個int變量。我想知道是否有辦法檢查數組中來自其分配的變量的索引。Java數組索引檢查
Random rand = new Random();
private int[] cards = {2, 3, 4, 5, 6, 7, 8, 9, 10};
int a = cards[rand.nextInt(8)];
所以我分配從數組變量的值,但我想知道是否有檢查變量看什麼指數爲它來自
可以存儲的一種方式使用前的隨機值。
int randomValue = rand.nextInt(8);
int a = cards[randomValue];
感謝這有助於...我對Java有點新,並且正在爲類項目創建一個二十一點程序。這是我在這裏發佈的縮小版本,我的數組總共有52個索引,有些分享相同的值,所以搜索選項並不適合我所做的。我確信有更多有效的方法來做我的程序正在嘗試做的事情,但是這有助於很多......謝謝! – Bradon
您知道索引號,因爲您已經獲得了數組索引位置中的值。
int index = rand.nextInt(8);
總是建議使用ArrayList。如果你使用過,有一個簡單的方法叫做「indexOf」來找出列表中值的索引。
準確地說'indexOf'不會告訴你你的元素來自哪裏,它只是告訴你一個「相等」的實例(根據'equals'實現)在列表中。它可能仍然是一個不同的例子。 – Tom
對不起,我沒有得到你所說的。但是,假設你有一個值,並且你想知道它的索引,那麼'ArrayList'中的'indexOf'函數將給你這個選擇。 – Joshi
'indexOf'返回_equal_對象所在的第一個索引,而_equal_則由'equals'實現確定。所以這個方法可能不會返回你正在查找的實例的索引。例如:'String a = new String(「a」);字符串b =新字符串(「a」);列表
試試這個:
int index= rand.nextInt(8);
int a = cards[index];
有了一個簡單的數組,你必須重複,以找出給定值是在什麼位置 例如:
int findSlot(int a)
{
for (int i = 0, n = cards.length; i < n; i++)
{
if (cards[i] == a) return i;
}
}
但是,如果使用一個ArrayList,你可以使用indexOf()方法。
正如已經回答的其他人所指出的那樣,返回的索引(在這兩種情況下)都是第一個匹配的實例。
只需將你的'rand.nextInt(8)'存儲在一個自己的變量中,那麼你就知道你的索引......很明顯,對吧? – Tom
非常簡單的問題。雖然我已經回答了,但用戶在提問之前還沒有給出任何想法。 – Joshi