Beschriftete Anweisungen
Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 35 von 59.
Label-Anweisungen in Java ermöglichen es, spezifische Punkte in Ihrem Code zu markieren und den Ablauf mit break und continue-Anweisungen unter Verwendung dieser Labels zu steuern. Labels sind besonders nützlich beim Arbeiten mit verschachtelten Schleifen.
Erstellen Sie eine verschachtelte Schleife mit einem Label:
outer: for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
if(i * j == 4) {
break outer;
}
}
}continue mit einem Label verwenden:
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);
}
}Aufgabe
EinfachErstellen Sie eine Methode namens findNumber, die drei Argumente annimmt:
- Ein zweidimensionales Array von Ganzzahlen (
grid) - Eine Ganzzahl (
target) zum Finden - Ein boolescher Wert (
breakEarly), der bestimmt, ob die Suche nach dem Finden des ersten Vorkommnisses gestoppt werden soll Die Methode sollte eine beschriftete Schleife verwenden, um nach der Zielzahl zu suchen und jede Position auszugeben, an der sie gefunden wird. WennbreakEarlytrueist, sollte sie nach dem Finden des ersten Vorkommnisses stoppen. Jedes gefundene Element sollte im Format ausgegeben werden:Found at: rowIndex,colIndex
Spickzettel
Label-Anweisungen in Java ermöglichen es, spezifische Punkte in Ihrem Code zu markieren und den Kontrollfluss mit break- und continue-Anweisungen unter Verwendung dieser Labels zu steuern.
Erstellen Sie eine verschachtelte Schleife mit einem Label:
outer: for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
if(i * j == 4) {
break outer;
}
}
}Verwenden Sie continue mit einem 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);
}
}Probier es selbst
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) {
// Schreibe deinen Code hier
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// JSON-String einlesen, der ein 2D-Array darstellt
String gridString = scanner.nextLine();
// Die Zielzahl einlesen
int target = Integer.parseInt(scanner.nextLine());
// Das breakEarly-Flag einlesen
boolean breakEarly = Boolean.parseBoolean(scanner.nextLine());
Type gridType = new TypeToken<int[][]>(){}.getType();
int[][] grid = new Gson().fromJson(gridString, gridType);
findNumber(grid, target, breakEarly);
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitung