Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

العبارات المعنونة

جزء من قسم Logic & Flow في رحلة Java على Coddy — الدرس 35 من 59.

تسمح لك عبارات التسمية (Label statements) في Java بتمييز نقاط محددة في الكود الخاص بك والتحكم في التدفق باستخدام عبارات break و continue مع هذه التسميات. وتعد التسميات مفيدة بشكل خاص عند التعامل مع الحلقات المتداخلة.

قم بإنشاء حلقة متداخلة مع تسمية (label):

outer: for(int i = 0; i < 3; i++) {
   for(int j = 0; j < 3; j++) {
       if(i * j == 4) {
           break outer;
       }
   }
}

استخدم continue مع تسمية (label):

firstLoop: for(int i = 0; i < 3; i++) {
   for(int j = 0; j < 3; j++) {
       if(j == 1) {
           continue firstLoop;
       }
       System.out.println(i + "," + j);
   }
}
challenge icon

التحدي

سهل

قم بإنشاء طريقة (method) تسمى findNumber تأخذ ثلاث وسائط:

  1. مصفوفة ثنائية الأبعاد من الأعداد الصحيحة (grid)
  2. عدد صحيح (target) للبحث عنه
  3. قيمة منطقية (breakEarly) تحدد ما إذا كان يجب إيقاف البحث بعد العثور على أول ظهور. يجب أن تستخدم الطريقة حلقة تكرارية مسماة (labeled loop) للبحث عن الرقم المستهدف وطباعة كل موقع يتم العثور عليه فيه. إذا كانت قيمة breakEarly هي true، فيجب أن تتوقف بعد العثور على أول ظهور. يجب طباعة كل عنصر يتم العثور عليه بالتنسيق التالي: Found at: rowIndex,colIndex

جرّب بنفسك

import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void findNumber(int[][] grid, int target, boolean breakEarly) {
        // اكتب الكود الخاص بك هنا
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // قراءة سلسلة JSON التي تمثل مصفوفة 2D
        String gridString = scanner.nextLine();
        // قراءة الرقم المستهدف
        int target = Integer.parseInt(scanner.nextLine());
        // قراءة علامة `breakEarly`
        boolean breakEarly = Boolean.parseBoolean(scanner.nextLine());
        
        Type gridType = new TypeToken<int[][]>(){}.getType();
        int[][] grid = new Gson().fromJson(gridString, gridType);
        
        findNumber(grid, target, breakEarly);
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow