Jak to przerwać

Jak to przerwać
ZoooL
  • Rejestracja:ponad 5 lat
  • Ostatnio:7 miesięcy
  • Postów:62
0
Kopiuj
import java.util.Scanner;

public class Zadanie4 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Podaj nr konta: ");
        int nr = scanner.nextInt();
        System.out.println("wprowadziles nr = " + nr);
        int dobryNr = 1234;
        if (nr == 1234) {
            System.out.println("Dobry nr konta, wprowadz pin: ");
        } if (nr <1234 || nr>1234 ){
            System.out.println("zły nr");
**            // ---- TUTAJ CHCE DODAC break; ale nie dziala ;d**
            }
        int pin = scanner.nextInt();
        int dobryPin = 4321;
        System.out.println("Wprowadziłeś pin: " + pin);
        if (pin == 4321) {
            System.out.println("dobry pin, logowanie");
        } else {
            System.out.println("zły pin");
        }
    }
}

Jesli uzytkownik poda cos zle chce przerwac program, co jesli zle w tym break =/

edytowany 1x, ostatnio: ZoooL
JA
Dlaczego nie użyjesz else, tylko się meczysz z jakimś ifem mniejszy-większy?
JA
  • Rejestracja:prawie 15 lat
  • Ostatnio:11 dni
0

Nie używaj break, jeżeli nie jesteś w switchu ani w pętli. Użyj natomiast System.exit(0); a w tym wypadku return;

KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:27 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
3

użyj return i przy okazji zmień kolejność ifów:

Kopiuj
if (nr != 1234) {
    System.out.println("zły nr");
    return;
}
System.out.println("Dobry nr konta, wprowadz pin: ");

Ogólnie lepiej na początek sprawdzić wszystkie niepoprawne warunki (czyli przeprowadzić walidację) a potem pisać kod tylko dla poprawnych wartości


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 1x, ostatnio: KamilAdam
ZoooL
  • Rejestracja:ponad 5 lat
  • Ostatnio:7 miesięcy
  • Postów:62
0

@up dzieki działa.
Myślałem że return służy tylko do zwracania danych z metod, jak rozumieć to return?
i return i System.exit działa czemu lepsze return w tym wypadku?

HE
HE
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:88
0
ZoooL napisał(a):

Myślałem że return służy tylko do zwracania danych z metod, jak rozumieć to return?
i return i System.exit działa czemu lepsze return w tym wypadku?

Return zwraca sterowanie, a System.exit(0) kończy działanie programu.

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Return oznacza wyjście z aktualnej funkcji i zwrócenie wartości. Jeśli funkcja nic nie zwraca to po prostu wyjdziesz z funkcji.
Wyście z main kończy program.
System.exit zabija jvm i generalnie trzeba używać przezornie.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.