2015-09-30 4 views
1

Я пытаюсь получить пользовательские входы (например, имена файлов) и хранить их как аргументы в другой функции. Однако оба 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: 
+0

Пожалуйста, включите код, в котором вы создаете 'Scanner'. – Simon

+0

@Simon Конечно, просто сделал. – Almac

ответ

1

просто изменить метод nextLine() к next().

кажется, что, когда вы получаете первое число с помощью nextInt() метода, есть еще новая линия, которая будет принята nextLine() функцией

+0

Спасибо большое! Я вытягивал свои волосы из-за этого. Я читал об этом в прекрасных отпечатках моего учебника и забыл об этом. Он вернулся и укусил меня: '( – Almac

Смежные вопросы