يصف المثال الموجود في هذه المقالة عملية تدوير مصفوفة ثنائية الأبعاد في Java ويتم مشاركته مع الجميع كمرجع لك. طريقة التنفيذ المحددة هي كما يلي:
انسخ رمز الكود كما يلي:
اختبار الحزمة
/*
* 1 2 3 4 5
* 16 17 18 19 6
* 15 24 25 20 7
* 14 23 22 21 8
* 13 12 11 10 9
*
* اكتب طريقة لطباعة مصفوفة ثنائية الأبعاد متساوية الطول، تتطلب ترتيب الأعداد الطبيعية التي تبدأ من 1 بشكل حلزوني من الدائرة الخارجية للمصفوفة المربعة إلى الداخل.
* */
اختبار الطبقة العامة6
{
الفراغ العام الثابت الرئيسي (String[] args)
{
الصفيف (4) ؛
}
// من السهل تغيير الكود. قم بإدخال قيم y مختلفة وإخراج مصفوفات مختلفة ثنائية الأبعاد.
صفيف الفراغ الثابت الخاص (int x)
{
int[][] arr = new int[x][x];
int len = arr. length, max = 0, count = 0;
specArr(arr, len, max, count);
arrprint(arr);
}
// يستخدم للطباعة المتقدمة
طبعة باطلة ثابتة خاصة (int[]] arr)
{
لـ (int[] في: arr)
{
ل (int ر : في)
{
System.out.print(t + "/t");
}
System.out.println();
}
}
مواصفات باطلة ثابتة خاصة (int[]] arr، int len، int max، int count)
{
بينما (لين > 0)
{
كثافة العمليات ي = 0;
لـ (مؤشر int = 0; مؤشر < (len - 1) * 4; مؤشر ++)
{
إذا (الفهرس <لين - 1)
arr[0 + count][index + count] = ++max;
وإلا إذا (الفهرس < 2 * (لين - 1))
arr[count + j++][arr.length - 1 - count] = ++max;
وإلا إذا (الفهرس < 3 * (لين - 1))
arr[arr.length - 1 - count][(j--) + count] = ++max;
وإلا إذا (الفهرس < 4 * (لين - 1))
arr[arr.length - 1 - (j++) - count][0 + count] = ++max;
}
إذا (لين == 1)
{
arr[arr.length / 2][arr.length / 2] = الحد الأقصى + 1;
}// لاحظ أنه عندما تكون قيمة y رقمًا فرديًا، ستكون هناك حلقة لـ n=1، ويجب استكمال القيمة الوسطى للمصفوفة.
العد++;
لين = لين - 2؛
}
}
}
آمل أن تكون هذه المقالة مفيدة لبرمجة جافا للجميع.