Jak to przerwać

Odpowiedz Nowy wątek
2019-11-07 22:32
0
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, 2019-11-07 22:33
Dlaczego nie użyjesz else, tylko się meczysz z jakimś ifem mniejszy-większy? - jackweb 2019-11-07 22:46

Pozostało 580 znaków

2019-11-07 22:38
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;

Pozostało 580 znaków

2019-11-07 22:52
3

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

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


edytowany 1x, ostatnio: Kamil Żabiński, 2019-11-07 22:52

Pozostało 580 znaków

2019-11-08 18:46
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?

Pozostało 580 znaków

2019-11-08 20:40
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.

Pozostało 580 znaków

2019-11-09 12:30
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.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0