Menu
Coddy logo textTech

Etiketli İfadeler

Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 35 / 59.

Java'da etiket ifadeleri, kodunuzda belirli noktaları işaretlemenize ve bu etiketlerle break ve continue ifadeleri kullanarak akışı kontrol etmenize olanak tanır. Etiketler, iç içe döngülerle çalışırken özellikle faydalıdır.

Etiketli bir iç içe döngü oluşturun:

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

Etiket ile continue kullanın:

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

Görev

Kolay

findNumber adında üç argüman alan bir metot oluşturun:

  1. Tamsayılerden oluşan 2D bir dizi (grid)
  2. Bulunacak bir tamsayı (target)
  3. İlk buluntudan sonra aramayı durdurup durdurulmayacağını belirleyen bir boolean (breakEarly) Metot, hedef sayıyı aramak için etiketli bir döngü kullanmalı ve bulunduğu her pozisyonu yazdırmalı. Eğer breakEarly true ise, ilk buluntudan sonra durmalıdır. Her bulunan eleman şu formatta yazdırılmalı: Found at: rowIndex,colIndex

Kopya kağıdı

Java'da etiket ifadeleri, kodunuzda belirli noktaları işaretlemenize ve bu etiketlerle break ve continue ifadeleri kullanarak akışı kontrol etmenize olanak tanır.

Bir etiketle iç içe döngü oluşturun:

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

Bir etiketle continue kullanın:

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);
   }
}

Kendin dene

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) {
        // Kodunuzu buraya yazın
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 2B dizi temsil eden JSON dizesini oku
        String gridString = scanner.nextLine();
        // Hedef sayıyı oku
        int target = Integer.parseInt(scanner.nextLine());
        // breakEarly bayrağını oku
        boolean breakEarly = Boolean.parseBoolean(scanner.nextLine());
        
        Type gridType = new TypeToken<int[][]>(){}.getType();
        int[][] grid = new Gson().fromJson(gridString, gridType);
        
        findNumber(grid, target, breakEarly);
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler