Problem z prostym programem - powrót do początku programu

0

Cześć wszystkim,
Jako początkujący od razu musiałem się w pewnym momencie zaciąć na pewnie bardzo prostej rzeczy. Chciałbym, żeby mój program działał w taki sposób, że po wybraniu konkretnej operacji wracał do startu, no i jeśli wybrało się coś spoza zakresu wydrukował tekst i ponownie wrócił do początku. Zrobiłem to w pętli do while i zastanawiam się czy wybrałem dobrze. Wiem, że na pewno warunek w while jest zły, ale nie wiem jak się za to wziąć...

public class Main {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        System.out.println("Witaj w szyfratorze!");
        System.out.println("Wybierz co chcesz zrobić:");
        System.out.println("1. Zaszyfruj tekst");
        System.out.println("2. Odszyfruj tekst");
        System.out.println("3. Zakończ program");
        System.out.print("Twój wybór: ");
        int operation = in.nextInt();

        do {
            if (operation == 1) {
                Encryption word = new Encryption();
                word.setWord(); //Encryption class
            } else if (operation == 2) {
                Decryption word = new Decryption();
                word.setWord(); //Decryption class
            } else if (operation == 3) {
                System.out.println("Zamykam program...");
                break;
            } else {
                System.out.println("Nie ma takiej opcji. Wybierz ponownie!");
            }
        } while (operation < 1 && operation > 3);
    }
}
2

Na logikę - wczytywanie powinno być wewnątrz pętli :)

1
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        System.out.println("Witaj w szyfratorze!");
        System.out.println("Wybierz co chcesz zrobić:");
        System.out.println("1. Zaszyfruj tekst");
        System.out.println("2. Odszyfruj tekst");
        System.out.println("3. Zakończ program");
        System.out.print("Twój wybór: ");
        

        boolean repeat = true;
        do {
            int operation = in.nextInt();
            if (operation == 1) {
                Encryption word = new Encryption();
                word.setWord(); //Encryption class
            } else if (operation == 2) {
                Decryption word = new Decryption();
                word.setWord(); //Decryption class
            } else if (operation == 3) {
                System.out.println("Zamykam program...");
                repeat = false;
                // Ewentualnie return;
            } else {
                System.out.println("Nie ma takiej opcji. Wybierz ponownie!");
            }
        } while (repeat);
    }
0

Jedna wskazówka i tyle pomocy :D Wielkie dzięki, nie pomyślałem nawet o tym, że to może mieć wpływ

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