java - 对我的对象数组列表进行选择排序不起作用 JAVA
问题描述
我的排序算法有问题,它对前两张卡片进行排序,但随后就搞砸了。数组列表是deck的一个属性,所以我必须使用deck类中的方法来访问它,例如get card和get deck。这是我的代码:
for (int i = 0; i < 4; i++) {
minVal = deck.getCard(i).getVal();
for (int j = i ; j < 5 ; j++ ) {
if (deck.getCard(j).getVal() < minVal)
{
minVal = deck.getCard(j).getVal();
for (int k = i ; k < 5 ; k++) {
if (deck.getCard(k).getVal() == minVal)
{
buffer = deck.getCard(i);
deck.set(i, deck.getCard(k));
deck.set(i + 1, buffer);
}
}
}
}
}
这是我的输出:
Original Cards:
3
2
14
8
6
Updated cards:
2
3
6
6
8
解决方案
int temp;
for (int i = 0; i < getCard(i).length(); i++) {
for (int j = 1 ; j < getCard(i).length() ; j++ ) {
if (deck.getCard(j-1).getVal() < deck.getCard(j).getVal()) {
temp = deck.getCard(j-1).getVal();
deck.getCard(j-1).getVal() = deck.getCard(j).getVal();
deck.getCard(j).getVal() = temp;
}
}
}
推荐阅读
- prometheus - 避免在 PromQL 中使用偏移量进行多个子查询以获得历史平均值
- typescript - 对于打字稿,当前未启用“decorators-legacy”的错误,事件我设置了experimentalDecorators和emitDecoratorMetadata为真
- json - Powershell - JSON 格式到 PAC 文件的转换
- r - 使用 system() 时通过 R 捕获 pid 进程
- reactjs - Excel JS React - 在不打开任务窗格的情况下运行代码
- dynamics-crm - 通过 API 删除 Dynamics365 系统用户
- javascript - 在 Salesforce 中使用闪电组件覆盖按钮
- google-schemas - 活动预订电子邮件标记无法识别“操作”属性
- c++ - 在本地块中打印全局变量
- pact - Pact http 与 https 端点测试