错误处理、抛出异常和用户输入
Error handling, throw exceptions, and user inputs
我正在尝试获取用户输入(例如文件名)并将它们作为参数存储在另一个函数中。但是,两个 println 是同时显示的。这使我无法正确输入参数。我认为这与抛出异常有关。但是,如果我不添加例外,我将无法 运行 该程序。
public class demon {
static Scanner input = new Scanner(System.in);
public static void main(String [] args) throws Exception {
MainMenu();
}//end main
public static void MainMenu() throws Exception {
System.out.println("Welcome to Demon. Please select an option from below:");
System.out.println("1: Encrypt a File");
System.out.println("2: Decrypt a File");
System.out.println("3: Exit");
int userOption = input.nextInt();
if (userOption == 1) {
optionEncrypt();
} else if (userOption == 2) {
optionDecrypt();
} else if (userOption == 3) {
System.exit(0);
}else {
System.out.println("Invalid Entry");
System.exit(0);
}
}
public static void optionEncrypt() throws Exception {
System.out.println("Enter the file name to encrypt:");
String inputFileName = input.nextLine();
System.out.println("Enter the file name to output:");
String outputFileName = input.nextLine();
createEncryptionFile("test.txt", "demon.txt");
}
Output:
1: Encrypt a File
2: Decrypt a File
3: Exit
1
Enter the file name to encrypt:
Enter the file name to output:
只需将 nextLine()
方法更改为 next()
。
好像当你通过 nextInt()
方法得到第一个整数时,nextLine()
函数
仍然会换行
我正在尝试获取用户输入(例如文件名)并将它们作为参数存储在另一个函数中。但是,两个 println 是同时显示的。这使我无法正确输入参数。我认为这与抛出异常有关。但是,如果我不添加例外,我将无法 运行 该程序。
public class demon {
static Scanner input = new Scanner(System.in);
public static void main(String [] args) throws Exception {
MainMenu();
}//end main
public static void MainMenu() throws Exception {
System.out.println("Welcome to Demon. Please select an option from below:");
System.out.println("1: Encrypt a File");
System.out.println("2: Decrypt a File");
System.out.println("3: Exit");
int userOption = input.nextInt();
if (userOption == 1) {
optionEncrypt();
} else if (userOption == 2) {
optionDecrypt();
} else if (userOption == 3) {
System.exit(0);
}else {
System.out.println("Invalid Entry");
System.exit(0);
}
}
public static void optionEncrypt() throws Exception {
System.out.println("Enter the file name to encrypt:");
String inputFileName = input.nextLine();
System.out.println("Enter the file name to output:");
String outputFileName = input.nextLine();
createEncryptionFile("test.txt", "demon.txt");
}
Output:
1: Encrypt a File
2: Decrypt a File
3: Exit
1
Enter the file name to encrypt:
Enter the file name to output:
只需将 nextLine()
方法更改为 next()
。
好像当你通过 nextInt()
方法得到第一个整数时,nextLine()
函数