你好我学习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