我的程序要求用户输入他们在工作目录中的文件名(包含文本),然后输入同样位于同一目录中的输出文件名。之后,用户必须选择是否要将文件中的所有文本大写或小写。
一旦他们选择了应该给他们处理另一个文件的选项。那就是我遇到麻烦的地方。打印后“你想要处理另一个文件吗?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");
}
答案 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;
}
}