的目的要找出圖片就是在屏幕上通過與已經存在的像素集合,這是在返回二維數組方法的形式的比較,在DataStoragePics
類。
如何我試圖解決它
- 使用反射我從存儲類
DataStoragePics
在methodStorage[]
所有方法。 - 然後我調用
methodStorage[]
的方法,然後將存儲在tempMatrix[][]
。 - 使用循環和另一種方法(此處未顯示)稍後我將使用它來找出捕獲的像素集合的類型。
我需要什麼
幫助。當我試圖通過使用中提到的步驟上面我坐上從重複兩次在主類中的倒數第三行的錯誤來解決這個問題:
Multiple markers at this line - Type mismatch: cannot convert from Object to int.
我認爲這個問題是methodStorage[x].invoke(DataStoragePicsObj)
是一個數組,但它返回一個二維數組和程序不承認,所以它需要要麼tempMatrix
是一個簡單的AR ray或methodStorage[]
爲2D陣列。我需要幫助解決這個錯誤。
這是Main
類:
import java.lang.reflect.Method;
int [][] tempMatrix = new int[16][450];
//Creates a DataStoragePics Object.
DataStoragePics DataStoragePicsObj = new DataStoragePics();
//Stores all DataStoragePics methods in methods[].
Method[] methodStorage = DataStoragePicsObj.getClass().getMethods();
//Loops through methodStorage[].
for(int x = 0; x < method.length; x++)
{
//Stores a 2D array from DataStoragePics class in tempMatrix.
//All methods in DataStoragePics return a 2D array with [16][10] dimensions.
/*This is the error line*/
tempMatrix[16][10] = methodStorage[x].invoke(DataStoragePicsObj);
/*above is the error line*/
}
這是DataStoragePics
類的部分:
public class DataStoragePics
{
public int[][] picXYZ()
{
int[][] rgbValues =
{
{1,2,3,4},
{9,8,7,6}
};
return rgbValues;
}
}
我是初學者位的時候纔來的Java /編碼等等請不要使用複雜的術語。
大綱的答案有幫助,但我仍然得到這個錯誤:「線程中的異常」main「java.lang.ClassCastException:java.lang.Class不能轉換爲[[I」事情是鑄造,它存儲和返回屏幕上的東西。有時它會在最後顯示錯誤。不知道爲什麼。
什麼是'tempMatrix'的類型?你沒有向我們展示你是如何創造這個的。 – csmckelvey 2014-12-02 14:06:47
補充說明 – user3144079 2014-12-02 14:08:47