簡體   English   中英

Java命令提示循環

[英]Java command prompt loop

我有這個簡單的代碼,就像一個小的命令提示符。 要求用戶輸入命令,並根據輸入內容顯示一條消息。 我只想使其循環,以便要求用戶一次又一次地輸入命令,直到他鍵入“退出”為止。 我怎么做? 這是代碼:

public static void main(String[] args) {

    Scanner command = new Scanner(System.in);

    System.out.println("Enter command: ");

    String text = command.nextLine();

        switch(text){

        case "start":
            System.out.println("Machine started!");
            break;

        case "stop":
            System.out.println("Machine stopped.");
            break;

        case "exit":
            System.out.println("Application Closed");
            break;

        default:
            System.out.println("Command not recognized!");
            break;
        }

    command.close();
}

謝謝

您可以將其放入while循環中,如下所示:

String text = "";

while(!text.equalsIgnoreCase("exit"))
{
    System.out.println("Enter command: ");

    text = command.nextLine();

        switch(text){

        case "start":
            System.out.println("Machine started!");
            break;

        case "stop":
            System.out.println("Machine stopped.");
            break;

        case "exit":
            System.out.println("Application Closed");
            break;

        default:
            System.out.println("Command not recognized!");
            break;
        }
}

只要讓您的while循環條件為while文本<>“ exit”。

我更喜歡:

public static void main(String[] args) {

    Scanner command = new Scanner(System.in);

    System.out.println("Enter command: ");
    boolean running = true;

    while(running){

        switch(command.nextLine()){

        case "start":
            System.out.println("Machine started!");
            break;

        case "stop":
            System.out.println("Machine stopped.");
            break;

        case "exit":
            System.out.println("Application Closed");
            running = false;
            break;

        default:
            System.out.println("Command not recognized!");
            break;
        }
    }
    command.close();
}

像這樣嗎 對於這種情況,我更喜歡“同時執行”,因為您可能希望至少給出一個命令。

public static void main(String[] args) {
    boolean running = true;

    Scanner command = new Scanner(System.in);
    do {
        System.out.println("Enter command: ");
        String text = command.nextLine();
        switch(text){
            case "start":
                System.out.println("Machine started!");
                break;
            case "stop":
                System.out.println("Machine stopped.");
                running = false;  //here?
                break;
            case "exit":
                System.out.println("Application Closed");
                running = false; //..or here?
                break;
            default:
                System.out.println("Command not recognized!");
                break;
        }
    } while(running);
    command.close();
}

最初的示例中缺少while循環:

    public static void main(String args[]) {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    while (true) {
        String command = br.readLine().toLowerCase();

        switch (command) {
            case "exit": {
                // exit here
            } break;

            default: {
                // unrecognised command
            }
        }
    }
}

如果要使用開關,最簡單的方法可能是帶有標簽的簡單無限循環。 當輸入匹配"exit" ,我們就中斷了循環。

loop:
while (true) {
    String text = command.nextLine();
    switch (text) {
    // ...
    case "exit":
        break loop;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM