gpt4 book ai didi

java - 我的搜索方法出现所有空值

转载 作者:行者123 更新时间:2023-11-30 01:08:43 24 4
gpt4 key购买 nike

让我快速解释一下。 7 月份,我通过一家公司参加了为期 5 周的 Java 类(class)。它们涵盖了基本内容,例如控制台应用程序、增删改查操作、mysql 和 n 层架构。自从类(class)结束后,我就没有太多使用它,因为我回去工作了,并且出现了其他医疗原因......等等等等。

公司告诉我制作一个简单的程序来反射(reflect)我所学到的知识。结果我保留的很少。

我决定制作一个视频游戏明星程序。它可以用来盯着你的游戏,这样你就不必搜索你的书柜(或者你如何存储你的游戏)。

这是一个基本的控制台应用程序,使用 MYSQL 进行增删改查操作。我无法让我的搜索功能真正发挥作用。我有两层:表示层和逻辑层。搜索方法允许他们按标题搜索游戏。当我运行程序并使用搜索时,它只显示标题,其余为空。这是我的表示层:

private static Games SearchForGame() 
{
Logic aref = new Logic();
Games g = new Games();
Scanner scanline = new Scanner(System.in);
System.out.println("Please enter the name of the game you wish to find:");
g.setTitle(scanline.nextLine());
aref.SearchGame();
System.out.println();
System.out.println("Game Id: " + g.getGameId());
System.out.println("Title: " + g.getTitle());
System.out.println("Rating: " + g.getRating());
System.out.println("Platform: "+ g.getPlatform());
System.out.println("Developer: "+ g.getDeveloper());
return g;
}

这是我的逻辑层

public Games SearchGame() {
Games g = new Games();
try {
Class.forName(driver).newInstance();
Connection conn = DriverManager.getConnection(url+dbName,userName,password);
java.sql.PreparedStatement statement = conn.prepareStatement("SELECT GameId,Title,Rating,Platform,Developer FROM games WHERE Title=?");
statement.setString(1, g.getTitle());
ResultSet rs = statement.executeQuery();

while(rs.next()){

g.setGameId(rs.getInt("GameId"));
g.setTitle(rs.getString("Title"));
g.setRating(rs.getString("Rating"));
g.setPlatform(rs.getString("Platform"));
g.setDeveloper(rs.getString("Developer"));
statement.executeUpdate();

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

这也是我最后的结果

Please enter the name of the game you wish to find:
Skyrim

Game Id: 0
Title: Skyrim
Rating: null
Platform: null
Developer: null

任何帮助将不胜感激,并提前致谢

<小时/>

编辑:这是我的游戏类代码

 public class Games 
{
public int GameId;
public String Title;
public String Rating;
public String Platform;
public String Developer;

public int getGameId()
{
return GameId;
}

public int setGameId(int gameId)
{
return GameId = gameId;
}

public String getTitle()
{
return Title;
}

public String setTitle(String title)
{
return Title = title;
}

public String getRating()
{
return Rating;
}

public void setRating(String rating)
{
Rating = rating;
}

public String getPlatform()
{
return Platform;
}

public void setPlatform(String platform)
{
Platform = platform;
}

public String getDeveloper()
{
return Developer;
}

public void setDeveloper(String developer)
{
Developer = developer;
}

}

最佳答案

SearchGame() 中,您创建一个新的 Games 对象,然后使用 getTitle() ,甚至无需设置标题。在 SearchForGame() 中,您确实设置了标题,但您应该将 Games 对象传递给 SearchGame() 并存储返回的对象。 (SearchGame() 中的 gSearchForGame() 中的 g 是两个不同的对象)

关于java - 我的搜索方法出现所有空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19599462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com