java – 需要帮助将用户输入发送到另一个方法

让我快速解释一下.我在7月份通过Java公司参加了为期5周的课程.他们介绍了基本的东西,比如控制台应用程序,crud操作,mysql和n层架构.由于课程结束,我没有使用它,因为我回去工作,其他医疗原因浮出水面……等等等等.

公司告诉我做一个简单的程序来反映我学到的东西.结果我保留得很少.

我决定制作一个视频游戏starage计划.它将用于凝视您的视频游戏,因此您不必搜索您的书架(或者您存储游戏的方式.)

为了减少追逐,我似乎无法从一个clas到另一个clas获得用户输入.我的方法AddGame在我的表示层中,应该将用户输入发送到我的逻辑层中的NewGame方法.我一直得到的错误是列’title’不能为null.

这是我的AddGame方法

    public static Games AddGame() {
    Games g = new Games();
    Logic aref = new Logic();
    Scanner scanline = new Scanner(System.in);
    System.out.println("Please enter the title of your game:");
    scanline.nextLine();
    System.out.println("Please enter the rating of your game:");
    scanline.nextLine();
    System.out.println("Please enter the platform for your game:");
    scanline.nextLine();
    System.out.println("Please thenter the developer of your game:");
    scanline.nextLine();
    aref.NewGame(g);
    return g;

}

这是我的NewGame方法

    public static void NewGame(Games g)
{
    try {
         Class.forName(driver).newInstance();
         Connection conn = DriverManager.getConnection(url+dbName,userName,password);
         PreparedStatement ps = (PreparedStatement) conn.prepareStatement("INSERT INTO games(Title,Rating,Platform,Developer) " +
                "VALUES(?,?,?,?)");
         ps.setString(1, g.getTitle());
         ps.setString(2, g.getRating());
         ps.setString(3, g.getPlatform());
         ps.setString(4, g.getDeveloper());
         ps.executeUpdate();
         conn.close();

         } catch (Exception e) {
         e.printStackTrace();
}
}

我还没有学会如何使用hibernate,只知道如何制作一个控制台应用程序.我查找的所有内容都是休眠或网络应用程序. (对不起代码似乎草率或蹩脚)
请任何建议都非常有帮助.提前致谢!

最佳答案
假设您的游戏类具有实例变量的setter,

用这个

System.out.println("Please enter the title of your game:");
g.setTitle(scanner.nextLine());

System.out.println("Please enter the rating of your game:");
g.setRating(scanner.nextLine());

System.out.println("Please enter the platform for your game:");
g.setPlatform(scanner.nextLine());

System.out.println("Please thenter the developer of your game:");
g.setDeveloper(scanner.nextLine());

nextLine方法返回用户输入的文本行,该数据使用setter存储在Games对象的实例变量中.

转载注明原文:java – 需要帮助将用户输入发送到另一个方法 - 代码日志