Commit 356f8e4b by Patryk Czarnik

Przykłady break

parent 87cf8736
package gotowe.p07_petle;
public class BreakContinue1 {
public static void main(String[] args) {
// w każdym rodzaju pętli można uzyć instrukcji break lub continue
// w praktyce umieszcze się je w if
// break - przerywa wykonanie pętli (wychodzi poza pętlę)
// continue - pomija pozostałe instrukcje w bieżącym obrocie pętli i idzie do nastepnego obrotu
for(int i = 1; i <= 20; i++) {
System.out.println("\nNastępna wartość i = " + i);
if(i % 3 != 0) {
System.out.println(" liczba nie jest podzielna przez 3, robię continue");
continue;
}
if(i % 5 == 0) {
System.out.println(" liczba jest podzielna przez 5, robię break");
break;
}
System.out.println(" liczba jest podzielna przez 3, ale nie przez 5");
System.out.println(" pętla nie była przerywana");
System.out.println("Koniec badania przypadku i = " + i);
}
System.out.println("\nJesteśmy za pętlą");
}
}
package gotowe.p07_petle;
import javax.swing.JOptionPane;
public class BreakContinue2 {
public static void main(String[] args) {
int licznik = 0;
while(true) {
licznik++;
JOptionPane.showMessageDialog(null, "Początek pętli, licznik = " + licznik);
int odp1 = JOptionPane.showConfirmDialog(null, "Czy zrobić break?");
if(odp1 == JOptionPane.YES_OPTION) {
break;
// break w pętli powoduje natychmiastowe zakończenie tej pętli i przejście do następnej instrukcji za pętlą
}
JOptionPane.showInternalMessageDialog(null, "Środek pętli. Nie było break.");
int odp2 = JOptionPane.showConfirmDialog(null, "Czy zrobić continue?");
if(odp2 == JOptionPane.YES_OPTION) {
continue;
// continue powoduje pominięcie reszty instrukcji w bieżącym obrocie pętli
// i przejście od razu na początek następnego obrotu
}
JOptionPane.showInternalMessageDialog(null, "Koniec pętli, nie było break ani continue");
}
JOptionPane.showInternalMessageDialog(null, "Koniec programu");
}
}
package gotowe.p07_petle;
public class BreakContinue3_Label {
static void tabliczka(int n) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.printf("%3d", i * j);
System.out.print(",");
}
System.out.println("#");
}
System.out.println("\n----------------\n");
}
static void tabliczkaBreak(int n) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.printf("%3d", i * j);
if (i + j > n)
break;
System.out.print(",");
}
System.out.println("#");
}
System.out.println("\n----------------\n");
}
static void tabliczkaBreakEtykieta(int n) {
pierwsza:
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.printf("%3d", i * j);
if (i + j > n)
break pierwsza;
System.out.print(",");
}
System.out.println("#");
}
System.out.println("\n----------------\n");
}
static void tabliczkaContinue(int n) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.printf("%3d", i * j);
if (i + j > n)
continue;
System.out.print(",");
}
System.out.println("#");
}
System.out.println("\n----------------\n");
}
static void tabliczkaContinueEtykieta(int n) {
pierwsza:
for (int i = 1; i <= n; i++) {
System.out.println(); // dodane
for (int j = 1; j <= n; j++) {
System.out.printf("%3d", i * j);
if (i + j > n)
continue pierwsza;
System.out.print(",");
}
System.out.println("#");
}
System.out.println("\n----------------\n");
}
public static void main(String[] args) {
tabliczka(9);
tabliczkaBreak(9);
tabliczkaBreakEtykieta(9);
tabliczkaContinue(9);
tabliczkaContinueEtykieta(9);
}
}
package gotowe.p07_petle;
public class Przerwania {
static void tabliczka(int n) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.printf("%3d", i * j);
System.out.print(",");
}
System.out.println("#");
}
System.out.println("\n----------------\n");
}
static void tabliczkaBreak(int n) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.printf("%3d", i * j);
if (i + j > n)
break;
System.out.print(",");
}
System.out.println("#");
}
System.out.println("\n----------------\n");
}
static void tabliczkaBreakEtykieta(int n) {
pierwsza:
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.printf("%3d", i * j);
if (i + j > n)
break pierwsza;
System.out.print(",");
}
System.out.println("#");
}
System.out.println("\n----------------\n");
}
static void tabliczkaContinue(int n) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.printf("%3d", i * j);
if (i + j > n)
continue;
System.out.print(",");
}
System.out.println("#");
}
System.out.println("\n----------------\n");
}
static void tabliczkaContinueEtykieta(int n) {
pierwsza:
for (int i = 1; i <= n; i++) {
System.out.println(); // dodane
for (int j = 1; j <= n; j++) {
System.out.printf("%3d", i * j);
if (i + j > n)
continue pierwsza;
System.out.print(",");
}
System.out.println("#");
}
System.out.println("\n----------------\n");
}
public static void main(String[] args) {
tabliczka(9);
tabliczkaBreak(9);
tabliczkaBreakEtykieta(9);
tabliczkaContinue(9);
tabliczkaContinueEtykieta(9);
}
}
package gotowe.p07_petle;
import java.util.Scanner;
public class Skarbonka {
// program "zbiera pieniądze" wrzucane do skarbonki (u nas jest to wpisanie liczby w konsoli)
// aż zostanie uzbierana konkretna wartość, tutaj 100 zł
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int suma = 0;
while(suma < 100) {
System.out.print("wrzuć monetę: ");
int moneta = scanner.nextInt();
suma += moneta; // suma = suma + moneta;
System.out.println("aktualna wartość: " + suma);
}
System.out.println("Zbieranie zakończone, w skarbonce jest: " + suma);
}
}
package gotowe.p07_petle;
import java.util.Scanner;
public class SkarbonkaNieskonczona {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int suma = 0;
while(true) {
System.out.print("wrzuć monetę: ");
int moneta = scanner.nextInt();
suma += moneta;
System.out.println("aktualna wartość: " + suma);
}
}
}
package p07_petle;
// Program ma na ekran wypisać tabliczkę mnożenia 10×10
public class TabliczkaMnozenia {
public static void main(String[] args) {
for (int w = 1; w <= 10; w++) {
for (int k = 1; k <= 10; k++) {
// System.out.print(w * k + " ");
System.out.printf("%3d ", w * k);
// https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Formatter.html#syntax
}
System.out.println();
}
}
}
package p07_petle;
import java.util.Scanner;
public class TabliczkaMnozeniaCustom {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Podaj liczbę wierszy: ");
final int W = scanner.nextInt();
System.out.print("Podaj liczbę kolumn: ");
final int K = scanner.nextInt();
// ustalamy długość tekstowej reprezentacji liczby i dodajemy jeszcze 1
final int szer = String.valueOf(W*K).length() + 1;
// taki wzorzec formatu ma być przekazany do printf.
// lepiej utworzyć go tutaj jeden raz, a nie za każdym razem w pętli
final String format = "%" + szer + "d";
for(int w = 1; w <= W; w++) {
for(int k = 1; k <= K; k++) {
System.out.printf(format, w*k);
}
System.out.println();
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment