我的代码有问题,不知道如何纠正我收到的错误。我在包含team[index]=temp的行中遇到错误“不兼容类型:int无法转换为Player”;任何指导都将不胜感激。我对Java很陌生,这是我第一次尝试使用选择排序。我已经试着环顾四周和搜索,但在三天后仍然没有弄清楚这个错误。提前感谢!
public static void selectionSort(Player[] team, int team_size)
{
int index;
int smallestIndex;
int minIndex;
int temp;
for (index = 0; index < team_size - 1; index++)
{
smallestIndex = index;
for (minIndex = index + 1; minIndex < team_size; minIndex++)
if(team[minIndex].getNumber() < team[smallestIndex].getNumber())
smallestIndex = minIndex;
temp = team[smallestIndex].getNumber();
team[smallestIndex] = team[index];
team[index] = temp;
}
}
team[index] = temp;
< code>temp是一个< code>int,由您的方法定义。< code>team是一个< code>Player对象数组,因此< code>team[index]是一个< code>Player。您正试图在此行将一个< code>int赋值给一个< code>Player。
请注意,您在此处设置了 temp
的值:
temp = team[smallestIndex].getNumber();
我发现你的代码有点难以阅读,因为我真的不知道上下文,但你应该确保你总是为team[someIndex]
分配一个Player
对象。
这里的问题是错误的含义。参数<code>team</code>是<code>Player</code>对象的数组temp</code>只是一个int。因此,当您尝试设置<code>team〔index〕</code>(这是一个Player对象)时,它不能这样做。
你只是想交换这两名球员吗?也许temp应该是
播放器
Player temp;
然后为了交换
temp = team[smallestIndex]; //returns the actual Player instance rather than getNumber();
team[smallestIndex] = team[index];
team[index] = temp;
此外,您可能不想传入
team_size
,因为您可以使用team.length
获取Player数组的长度。这样您就不必每次都依赖于传递正确的长度。您的for循环将如下所示
for (index = 0; index < team.length; index++)
而当运行时,我收到的是: 错误:不兼容类型:int无法转换为客户端ClientDAO.Delete(clientId);
我收到一个错误,指出ArrayList不能在我的上转换为int 我正在编写一个程序,在这个程序中,我必须从一个文件中读取所有整数,并计算它们的总和。我还处理所有异常,因此如果抛出异常,函数应该返回0。 这是我的代码: 下面是我的单元测试,读取文件后应该通过: 感谢您的帮助。 谢谢!
问题内容: 一般来说,对于Java和编程,我是一个新手。我正在尝试创建一个简单的程序,您可以在其中猜测我的年龄,如果您是对的,它将说“正确”,如果您错了,它将说“错”。 这是我的代码: 我收到错误消息“不兼容的类型:void无法转换为int”,但代码中没有void类?我知道我的代码可能很糟糕,但是如果你们能为我指出正确的方向,那就太好了。谢谢。 问题答案: 您的程序不必返回in 。相反,您可以将其
我试着在这个网站上搜索类似的问题,但没有找到任何地方他们试图使用一个int数来填充的方法的使用。
我试着在这个网站上搜索类似的问题,但没有发现任何地方他们试图使用一个int数字来填充使用方法。