• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyjście ze switcha, czyszczenie konsoli Java

0 głosów
1,604 wizyt
pytanie zadane 3 czerwca 2016 w Java przez martix3 Użytkownik (690 p.)

Witam!

Mam do was pytanie, bo szukałam już na różnych stronach i nie mogę nic konkretnego znaleźć. Chodzi mi o 3 rzeczy w języku java:

1. Jak menu ze switcha na stałe przypiąć u góry, tzn., żeby nie wyświetlało się za każdym razem i jak na bieżąco czyścić konsolę?

2. Jak wyjść z jego menu do poprzedniego(z jednego switcha do drugiego)?

3. Jaką dać komendę, żeby zakończyć program(return 0 nie działa)

Poniżej wrzucam skróconą wersję mojego menu:

public static void main(String[] args) {

        while (true) {
            System.out.println("**************************************");
            System.out.println("Wybierz numer zadania:");
            System.out.println("0-Dodaj listę drużyn z pliku");
            System.out.println("1-Dodaj pojedynczą drużynę");
            System.out.println("2-Usuń drużynę");
            System.out.println("3-Pokaz listę drużyn");
            System.out.println("4-Utwórz turniej/mecze ");
            System.out.println("5-Wyjdź");

            System.out.println("**************************************");
            Scanner input = new Scanner(System.in);
            int x;
            x = input.nextInt();

            switch (x) {
                case 0:
                    break;
                case 1:
                    break;
                case 2:
                    break;
                case 3:
                    break;

                case 4: {
                    while (true) {
                        System.out.println("**************************************");
                        System.out.println("1-Utwórz turniej siatkówki");
                        System.out.println("2-Utwórz turniej dwóch ogni");
                        System.out.println("3-Wróć do poprzedniego menu");
                        System.out.println("**************************************");
                        x = input.nextInt();
                        switch (x) {
                            case 1:
                                break;

                            case 2:
                                break;

                            case 3://cofnięcie się do poprzedniego menu
                                break;

                            default:
                                System.out.println("Podaj poprawny numer zadania");
                                break;

                        }

                    }

                }
                case 5:
                    break; //wyjście z programu
                default:
                    System.out.println("Podaj poprawny numer zadania");
                    break;
            }

        }

    }

 

1 odpowiedź

0 głosów
odpowiedź 3 czerwca 2016 przez ShiroUmizake Nałogowiec (46,300 p.)

Zapodam Ci moją klasę do czyszczenia :).

package bankonet.windowsPackage;
import java.io.IOException;

public class WindowsApps {




public final static void clearConsole()
{
    try
    {
        final String os = System.getProperty("os.name");

        if (os.contains("Windows"))
        {
            Runtime.getRuntime().exec("cls");
        }
        else
        {
            Runtime.getRuntime().exec("clear");
        }
    }
    catch (final Exception e)
    {
        //  Handle any exceptions.
    }
}
}
// Uruchomienie obiektu o tej klasie:

WindowsApps appsFunc = new WindowsApps();
        WindowsApps.clearConsole();

Chyba nie muszę mówić jak importować :).

Jak zatrzymać menu jest już trudniejsze. Musisz zajrzeć jaka klasa odpowiada za ustawienie kursora. I jak wypisze, kursor ustawić za X linią, za Y kolumną i nie może wrócić do punktu O (Jeżeli JAVA obsługuje podobnie konsole).

2. Po przez wywołanie jeszcze raz tej samej funkcji? Na przykład:

private  static InitMenu () // Raczej żadna klasa nie będzie potrzebowała tej metody do wywołania
{ 
System.out.println("**************************************");
            System.out.println("Wybierz numer zadania:");
            System.out.println("0-Dodaj listę drużyn z pliku");
            System.out.println("1-Dodaj pojedynczą drużynę");
            System.out.println("2-Usuń drużynę");
            System.out.println("3-Pokaz listę drużyn");
            System.out.println("4-Utwórz turniej/mecze ");
            System.out.println("5-Wyjdź");
 
            System.out.println("**************************************");
            Scanner input = new Scanner(System.in);
}

Następnie zmieniamy wywołanie w main

 case 4: {
                    while (true) {
                        System.out.println("**************************************");
                        System.out.println("1-Utwórz turniej siatkówki");
                        System.out.println("2-Utwórz turniej dwóch ogni");
                        System.out.println("3-Wróć do poprzedniego menu");
                        System.out.println("**************************************");
                        x = input.nextInt();
                        switch (x) {
                            case 1:
                                break;
 
                            case 2:
                                break;
 
                            case 3://cofnięcie się do poprzedniego menu
                               WindowsApps.clearConsole(); // Wyczyścmy konsolę (powiedzmy, że gdzie utworzyłeś podany obiekt
                               initMenu(); // Powinno wywołać, jak nie to obiekt i po przez metody obiektu.
                                break;
 
                            default:
                                System.out.println("Podaj poprawny numer zadania");
                                break;

5. w case 5: return false, wyjdzie z while,

Podobne pytania

0 głosów
1 odpowiedź 8,775 wizyt
pytanie zadane 15 października 2015 w Java przez Hinaru Początkujący (310 p.)
0 głosów
1 odpowiedź 994 wizyt
pytanie zadane 25 kwietnia 2015 w Java przez damianeqe Gaduła (4,380 p.)
+2 głosów
1 odpowiedź 442 wizyt
pytanie zadane 10 kwietnia 2024 w C# przez roger10 Nowicjusz (180 p.)

93,756 zapytań

142,715 odpowiedzi

323,363 komentarzy

63,350 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...