System.out.print 没有按预期工作

System.out.print did not work as intended

我目前正在 java 做一个学校项目(我使用 NetBeans),我遇到了这个问题。我做了一些在线研究,但到目前为止还没有运气。这是我的代码片段: 问题是每当我单击 运行 文件时,控制台仅在 help() 方法中显示消息,而不显示此消息“命令 [c/r/u/d/x]”。该消息仅在输入任何可能的选项后显示。任何帮助将不胜感激。

public static void main(String[] args) throws ClassNotFoundException, SQLException { 
    new TestDB().menu(); 
    } 

    private DBConnector connector; 
    private Connection conn; 
    private DBManager manager; 
    public TestDB() throws ClassNotFoundException, SQLException { 
    connector = new DBConnector(); conn = connector.openConnection(); 
    manager = new DBManager(conn);    
    }

private void testCreate() throws SQLException {
        System.out.println("Adding customer to the database: ");
        manager.addCustomer(read("Email"),read("Password"),read("First 
        Name"),read("Last Name"),read("Phone 
        Num"),read("Address"),read("DOB"));
            System.out.println("Customer added successfully ");
        }
    private String read(String prompt) {
        System.out.print(prompt + ": ");
        System.out.flush();
        return in.nextLine();
    }

    private String read(int prompt) {
        System.out.print(prompt + ": ");
        System.out.flush();
        return in.nextLine();
    }

    private void menu() throws SQLException {
        char c;
        help();
        
        
        while ((c = read("Command [c/r/u/d/f/x]").charAt(0)) != 'x') {
            switch (c) {
                case 'c':
                    testCreate();
                    break;
                case 'r':
                    testFind();
                    break;
                case 'u':
                    testUpdate();
                    break;
                case 'd':
                    testDelete();
                    break;
                default:
                    help();
                    break;
            }
        }
    }

    private void help() {
        System.out.println("Database Operations: \n"
                + "c = Create User \n"
                + "r = Find User \n"
                + "u = Update User \n"
                + "d = Delete User \n");
    }

我认为您必须输入所有用户输入的“电子邮件”、“密码”、“名字”、“姓氏” Name","Phone Num","Address","DOB" 输入每个值后按回车键。一旦你输入所有值,剩余的代码将被执行。

问题已解决,我只是在 read() 方法中将 print() 替换为 println()。这个问题似乎属于maven和ant项目之间的一些不同。我在 ant 中尝试了相同的代码,它执行得很好。

新更新: 这个网站帮助我:https://github.com/mojohaus/exec-maven-plugin/issues/159。 基本上,您只需将目标从 exec:exec 更改为 exec:java

See detail here