2016-03-09 39 views
0

我在尋找匹配的arrayOne,獲取索引值,然後從arrayTwo中的那個索引返回值。從arrayOne到arrayTwo的匹配索引

當前代碼:

private String [] sensorName = {"kitchenDoor", "glassCupboard", "microwave", "teaCupboard", "tap", "cutleryCupboard", "fridge", "kettle", "telephone", "plateCupboard", "chair", "sofa", "remote", "livingRoomDoor"}; 
    private int [] defaultSensorState = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; 
    private int [] prepareTea = {1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}; 

    public String getIndexValueName(int[] sensorArray, String[] nameArray, int index) { 
    String sensorName = null; 
    for(int i = 0; i < defaultSensorState.length; i++) { 
     if(sensorArray[i] == index) { 
     sensorName = nameArray[index]; 
     } 
    } 
    return sensorName; 
    } 

方法調用:

getIndexValueName(prepareTea, sensorName, 2); 

如果我通過在價值01,因爲它工作正常指標,但比它返回null更高的任意值。

編輯:

要澄清一個例子:我通過數組prepareTea尋找循環,如果一個1發現我期待回報指數[X]認爲1是我認爲要搜索。數組sensorName並返回索引[x]包含的字符串。

+1

因爲數組只有0和1的值......完全有意義。 – Maroun

+0

如何修改它以獲取索引3,而不考慮值? – Colin747

+0

你想用prepareTea數組中的索引來獲取nameArray嗎? –

回答

0

我想你想使用類似以下內容並把它傳遞給你的函數,而不是prepareTea數組:

private int[] sensorArray = {0,1,2, ...} 

getIndexValueName(sensorArray, sensorName, 2); 
0

我的錯誤是在if聲明,必須是:

if(sensorArray[i] == 1) {

而不是

if(sensorArray[i] == index) {

+0

這是有道理的;-) – Pooya

+0

我仍然不明白作者想要做什麼。 –