用Java写一个用数组实现猴子选大王的程序
时间: 2024-11-03 14:18:18 浏览: 5
java 求水仙花 和猴子选大王
猴王选举是一个经典的算法问题,通常通过冒泡排序的方式来进行,这里我将提供一个简单的Java程序,使用数组表示猴子们的能力值,并通过循环比较选出能力值最大的“猴王”。
```java
public class MonkeyKing {
public static void main(String[] args) {
int[] monkeys = {50, 70, 30, 80, 60}; // 猴子们的能力值
int monkeyKingIndex = findMonkeyKing(monkeys);
System.out.println("选出的猴王是第" + (monkeyKingIndex+1) + "只猴子,其能力值为:" + monkeys[monkeyKingIndex]);
}
// 冒泡排序法找到最大值的索引
public static int findMonkeyKing(int[] abilities) {
if (abilities == null || abilities.length == 0) {
return -1; // 如果数组为空,返回-1表示没有猴王
}
for (int i = 0; i < abilities.length - 1; i++) {
if (abilities[i] > abilities[i + 1]) {
// 如果当前猴子不如下一个能力强,则交换位置
int temp = abilities[i];
abilities[i] = abilities[i + 1];
abilities[i + 1] = temp;
}
}
// 返回最后一个元素的索引,即最大能力值的猴子
return abilities.length - 1;
}
}
```
在这个程序中,我们首先初始化一个猴子的能力值数组,然后调用`findMonkeyKing`方法找出最高能力值的猴子索引。最后,我们会输出获胜的猴王及其能力值。
阅读全文