كيفية الخروج من الحلقات المتداخلة في Java؟ طرق فعالة للقطع
مرحباً بالجميع! أنا مبتدئ في Java وواجهت مشكلة أثناء العمل مع الحلقات المتداخلة. لدي مصفوفة ثنائية الأبعاد (مصفوفة) وأبحث فيها عن قيمة معينة. بمجرد أن أجدها، أحتاج إلى إيقاف البحث والخروج من كلتا الحلقتين.
إليك الكود الخاص بي:
```java
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int target = 5;
boolean found = false;
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
if (matrix[i][j] == target) {
found = true;
break; // يخرج فقط من الحلقة الداخلية
}
}
// الحلقة الخارجية تستمر!
}
```
حاولت استخدام `break` — لكنه يقطع فقط الحلقة الداخلية، بينما تستمر الحلقة الخارجية في التكرار. ولهذا السبب، يستغرق الكود وقتاً أطول من اللازم، وإذا كانت المصفوفة كبيرة، فهذه كارثة.
جربت عدة طرق: استخدمت العلم `found`، لكن لا يزال يتعين علي التحقق منه بعد الحلقة الداخلية، وهذا غير مريح. حاولت استخدام