Java 将数组的前两个值复制到新数组中
我已经根据对象的一个变量将对象数组按降序排序。现在我需要获取这个数组的前两个值,并将它们放入一个新的Java 将数组的前两个值复制到新数组中,java,arrays,string,Java,Arrays,String,我已经根据对象的一个变量将对象数组按降序排序。现在我需要获取这个数组的前两个值,并将它们放入一个新的字符串数组中。到目前为止,我所知道的如下,但我显然在某处犯了一个愚蠢的错误 public String[] teamsToProgress() { Arrays.sort(teams); String[] teamsToProgress = new String[2]; for (int i=0; i<2 ; i++) { teams[i] =
字符串数组中。到目前为止,我所知道的如下,但我显然在某处犯了一个愚蠢的错误
public String[] teamsToProgress()
{
Arrays.sort(teams);
String[] teamsToProgress = new String[2];
for (int i=0; i<2 ; i++)
{
teams[i] = teamsToProgress[i];
}
}
public字符串[]teamsToProgress()
{
数组。排序(团队);
字符串[]teamsToProgress=新字符串[2];
对于(int i=0;i您尝试将String
分配给Team
字段(此处:teams[i]=teamsToProgress[i];
)。在分配之前,您必须将字符串转换为Team
实例。teams[i]=teamsToProgress[i];
应该反转,这没有意义。您还缺少一个return语句
public String[] teamsToProgress()
{
Arrays.sort(teams);
String[] teamsToProgress = new String[2];
for (int i=0; i<2 ; i++)
{
teamsToProgress[i] = teams[i]; //.getSomething() ?
}
return teamsToProgress;
}
public字符串[]teamsToProgress()
{
数组。排序(团队);
字符串[]teamsToProgress=新字符串[2];
对于(int i=0;i,如果只是查找逻辑错误,则如下所示:
teams[i]=teamsToProgress[i];
应替换为teamsToProgress[i]=teams[i];
我没有详细介绍所涉及的语法。但我猜这是您根据您的问题想要的。您的问题不够清楚,因为我们仍然需要了解团队对象结构。但我猜您正在关注类似的内容
public String[] teamsToProgress(Team[] teams) //pass your sorted teams array as a param.
{
String[] teamsToProgress = new String[2];
for (int i=0; i<2; i++)
{
teamsToProgress[i] = String.valueOf(teams[i]); //convert teams[i] to string
}
return teamsToProgress;// you need to return an array
}
public String[]teamsToProgress(Team[]teams)//将已排序的teams数组作为参数传递。
{
字符串[]teamsToProgress=新字符串[2];
对于(int i=0;我甚至可以编译这段代码吗?我看不出您如何能够对团队进行排序,然后重新声明它。除了不正确的代码之外,您不需要循环。如果您使用前两个值,您可以只使用teams[0]
和teams[1]
。更易于阅读,使用起来更快understand@fdsaTeam[]teams;
在前面声明过,这可能不应该存在。我得到的编译错误是teamsToProgress[I]
中“I”的“不兼容类型”
这是在teams[I]中为“I”抛出编译错误“不兼容类型”
是的,因为teamsToProgress
是一个String
数组,teams
是一个Team
数组。所以我不明白你为什么要这样做,也许你想在你的团队实例上调用一些方法?如果你能编辑你的帖子,并描述你为什么以及你想要实现什么,那么回答你的问题就容易多了问题。