你好我學習Java和我試圖讓3個圖像是300×300,600×600和900x900像素,並通過分割它搶圖像轉換成3X3網格,然後在該圖像中混合每個3x3方塊,每次運行我的程序時生成隨機混合。我決定把所有的像素都放到一個數組中,然後在那個長度爲3的圖像中給我一個0的餘數。然後,我得到錯誤「java.lang.ArithmeticException:/ by zero」。請有人幫我解決我的問題。我得到「java.lang.ArithmeticException:/零」當我運行我的程序
public void randomPictureShift(Picture scrambledImage){
Pixel blankImage [] = this.getPixels();
Pixel originalImage [] = scrambledImage.getPixels();
//-----------------------------------------------------------------------
Random r = new Random();
for (int i = originalImage.length; i > 0; i--) {
int index = r.nextInt(i);
//-----------------------------------------------------------------------
if ((i)%(1/3) == 0){
//swap
Pixel tmp = originalImage[index];
originalImage[index] = originalImage[i];
originalImage[i] = tmp;
'(ⅰ)%(1/3 )'與'(i)%(0)'相同,這可能是導致錯誤的原因。 – Biffen 2015-02-10 08:27:56