如何重新启动此代码?

时间:2017-02-11 04:29:21

标签: java

我的程序要求用户输入他们在工作目录中的文件名(包含文本),然后输入同样位于同一目录中的输出文件名。之后,用户必须选择是否要将文件中的所有文本大写或小写。

一旦他们选择了应该给他们处理另一个文件的选项。那就是我遇到麻烦的地方。打印后“你想要处理另一个文件吗?Y表示是或N表示否?”我如何让它循环回到开头?

现在我的代码继续循环回“大写或小写所有单词”我需要它停止这样做并询问用户是否要处理另一个文件,如果是这样它需要返回并询问输入和再次输出文件名。

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("Please enter the input data file name:");
    String fileInput = sc.next();
    System.out.println("Please enter the output data file name:");
    String fileOutput = sc.next();
    while(true){
        System.out.println("A: Capitalize all words.\nB: Lowercase all words.");

        System.out.println("enter choice:");
        char choice = sc.next().charAt(0);
        if(choice == 'A'){
            capitalize(fileInput, fileOutput);
        }else{
            lowercase(fileInput, fileOutput);
        }

    }
   System.out.println("Process another file? Y for Yes or N for No");
}

1 个答案:

答案 0 :(得分:1)

您只需将所有代码包装在while循环中,如下所示; while循环只重复其中的代码:

public static void main(String[] args) {
    while (true) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Please enter the input data file name:");
        String fileInput = sc.next();
        System.out.println("Please enter the output data file name:");
        String fileOutput = sc.next();
        System.out.println("A: Capitalize all words.\nB: Lowercase all words.");

        System.out.println("enter choice:");
        char choice = sc.next().charAt(0);
        if (choice == 'A') {
            capitalize(fileInput, fileOutput);
        } else {
            lowercase(fileInput, fileOutput);
        }

        System.out.println("Process another file? Y for Yes or N for No");
        String processAnother = sc.next();
        if (processAnother.equals("N") || processAnother.equals("n")) break;
    }
}