2017-02-23 19 views
-1

Я пытаюсь написать следующий код, который будет запрашивать у пользователя их имя пользователя и пароль:неожиданный маркер ошибка при попытке использовать консоль

public static void main(String[] argv) { 
     Console console = System.console(); 
     String USER = console.readLine("Username: "); 
     char[] PASSWORD = console.readPassword("Enter password"); 
     Arrays.fill(PASSWORD, ' '); 
    } 

Однако, я получаю следующее сообщение об ошибке:

[email protected]:~/Desktop/File$ Console console = System.console(); 
bash: syntax error near unexpected token `(' 
[email protected]:~/Desktop/File$ String USER = console.readLine("Username: "); 
bash: syntax error near unexpected token `(' 
[email protected]:~/Desktop/File$ char[] PASSWORD = console.readPassword("Enter password"); 
bash: syntax error near unexpected token `(' 
[email protected]:~/Desktop/File$ Arrays.fill(PASSWORD, ' '); 

Side Note: Я пытаюсь использовать это для ввода базы данных в Oracle SQL.

+2

Вы пытаетесь выполнить программу Java в качестве сценария bash? – siordache

+0

Нет. Я просто делаю javac и java для компиляции и запуска .java-файла. –

+0

Если ваш файл называется Hello.java, то вы должны сделать: 'javac Hello.java' , а затем ' java Hello' Вы, вероятно, сделали: 'java Hello.java', что неверно. – siordache

ответ

0

Я думаю, вы можете достичь того же с родным сканером вместо консоли

Попробуйте это может быть любой помощью.

public static void main(String[] args) { 

public static void main(String[] args) { 

    try (Scanner scanner = new Scanner(System.in);) { 

     System.out.println("Username: "); 
     String USER = scanner.nextLine(); 

     System.out.println("Enter password"); 
     String PASSWORD = scanner.nextLine(); 

     Arrays.fill(PASSWORD.toCharArray(), ' '); 

    } catch (Exception e) { 

     e.printStackTrace(); 

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