Jak powtórzyć działanie programu

Jak powtórzyć działanie programu
B4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Cześć, napisalem program który wyświetla informacje po sczytaniu przez skaner.
Nie wiem jak zrobić to, by program działał cały czas (nie przestawał po jednorazowym podaniu informacji) i wyłączał się dopiero jak np wcisne enter bez wpisywania niczego. Dzieki z gory za pomoc

Kopiuj
Scanner scan = new Scanner(System.in);
        System.out.println("Witaj w programie Rodzina");
        System.out.println("Wybierz członka rodziny z listy, by dowiedzieć się o nim więcej:");
        System.out.println(" Bolek \n Lolek \n Anka \n Krzysztof");
        String osoba = scan.nextLine();
        if(osoba .equals("Bolek") ){
            bolek.przedstawSie();
        }
        else if (osoba .equals("Lolek")){
            lolek.przedstawSie();
        }
        else if (osoba .equals("Anka")) {
            anka.przedstawSie();
        }
        else if (osoba .equals("Krzysztof")) {
            krzychu.przedstawSie();
        }
    }
}
szweszwe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1694
0

Użyj pętli.

B4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0
szweszwe napisał(a):

Użyj pętli.

tak, tylko w jaki sposób to dobrze zrobić?

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5023
1

Jak wyżej, Użyj pętli:

Kopiuj
class Main {
  public static void main(String[] args) {
        for (;;) {
        Scanner scan = new Scanner(System.in);
        System.out.println("Witaj w programie Rodzina");
        System.out.println("Wybierz członka rodziny z listy, by dowiedzieć się o nim więcej:");
        System.out.println(" Bolek \n Lolek \n Anka \n Krzysztof");
        String osoba = scan.nextLine();
          if (osoba.equals("Albert"))
            System.out.println("Albert");
          // i tak dalej
          if (osoba.isEmpty()) {
            System.out.println("Bye!");
            break;
          }
        }
    }
}
szweszwe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1694
1

Naprawdę Bolo, 10 sekund szukania.
https://codereview.stackexchange.com/questions/70414/close-scanner-if-no-input/70425
wklejam kod jakbyś nie umiał rozpoznać które to:

Kopiuj
public class Main {
    public static void main(String[] args) {
        try (Scanner input = new Scanner(System.in)) {
            String line;
            while (!(line = input.nextLine()).isEmpty()) {
                System.out.println(line);
            }
        }
    }
}
B4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Dzięki wielkie. Już działa jak chciałem.

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.