我正在制作一个简单的运动模拟器。一开始,您必须以格式输入两支球队(CityName TeamName,例如 Chicago Bulls)。我使用两种方法从初始名称中获取城市名称和团队名称,因此我可以在不同的地方调用它们以获得更自然的输出。
public String getLocation(String teamName){
String location = this.name.substring(0, this.name.indexOf(" "));
return location;
}
public String getFirstName(String teamName){
String name = this.name.substring(this.name.indexOf(" "));
return name;
}
获取位置的第一种方法工作正常。第二个获取团队名称的方法每次都返回 null。关于为什么我得到不同的结果,我无法弄清楚我在这两个方面做了什么不同的事情。
编辑:
这是实现这些方法的行:
System.out.println("The " + TeamX.getFirtName(TeamX.getName()) + " are visting from " + TeamX.getLocation(TeamX.getName()) + " to play the " + TeamY.getFirtName(TeamY.getName()) + " in " + TeamY.getLocation(TeamY.getName()) );
当“NYC Jets”和“Arizona Cardinals”出现时,它的输出是:
The null are visting from NYC to play the null in Arizona
最佳答案
我认为这个问题是因为在函数中你调用的是 this.name
上的子字符串,而不是局部变量 teamName
:
public String getLocation(String teamName){
return teamName.substring(0, teamName.indexOf(" "));
}
public String getFirstName(String teamName){
return teamName.substring(teamName.indexOf(" "));
}
关于java - 使用子字符串拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36972270/