配列 [300][300] があり、エッジを取り除き、新しい配列 [298][298] に残りの値を入力する必要があります。私はこれまでのところこれを持っています:
double[][] edging() {
double [][] array = new double [data.length] [data[0].length];
array = bubbles();
double [] [] newArray = new double[array.length-2][array[0].length-2];
System.arraycopy(array,1,newArray, 0, newArray.length);
array = newArray;
System.out.println( + newArray.length);
System.out.println( + newArray[0].length);
return newArray;
}
これにより、上端と下端が削除されます。しかし、右と左はまだそこにあります。そこのチェックは、新しい配列が [298][300] であることを示しています。
各行を順番に削除し、それぞれに arraycopy を使用して新しい行を返すループを作成することを考えました。ただし、これが非常に効率的かどうかはわかりません。
これを試しましたが、役に立ちませんでした。次のテストは、それを回転させ、上記のコードを再度使用することです。