Java 尝试编写一个循环,通过我的数组,使每个玩家的生命值增加100
打印屏幕: 我只需要一个循环,通过我的16套不同的球员统计数据,并给予健康奖金100。真的很难写出一个正确的循环Java 尝试编写一个循环,通过我的数组,使每个玩家的生命值增加100,java,arrays,loops,Java,Arrays,Loops,打印屏幕: 我只需要一个循环,通过我的16套不同的球员统计数据,并给予健康奖金100。真的很难写出一个正确的循环 public static void sortPlayersByHealth() { for (int outer = 0; outer < playerObjectArray.length -1; outer ++) { for (int inner = 0; inner < playerObjectArray.length - 1; inn
public static void sortPlayersByHealth() {
for (int outer = 0; outer < playerObjectArray.length -1; outer ++) {
for (int inner = 0; inner < playerObjectArray.length - 1; inner ++ ) {
int num1 = playerObjectArray[inner].gethealth();
//must + 1 for it to know to go to the next number and find the > number.
int num2 = playerObjectArray[inner+1].gethealth();
if(num1 > num2) {
Player Player = playerObjectArray[inner];
playerObjectArray[inner] = playerObjectArray[inner+1];
playerObjectArray[inner+1] = Player;
}
publicstaticvoid sortPlayersByHealth(){
对于(int-outer=0;outer数字。
int num2=playerObjectArray[inner+1].gethealth();
如果(num1>num2){
Player-Player=playerObject数组[内部];
playerObjectArray[内部]=playerObjectArray[内部+1];
PlayerObject数组[内部+1]=玩家;
}
这是我之前写的一个循环,用来帮助循环所有16个玩家的统计数据,根据他们的生命值得分从低到高对他们进行排序。任何将此语法更改为生命值增加100的帮助都将不胜感激
抱歉,如果这没有意义,我是编程新手,也是stackoverflow新手
public void BumpHealth() {
for (Player player : playerObjectArray) {
player.health += 100;
}
}
当然,假设player对象的健康变量称为“health”。如果您不介意公开健康变量public,那么回答为
player.health+=100
显然更有效,否则:
实施
public void changeHealth(int value) {
this.health += value; //as value parameter is a signed integer if you pass negative value you can "remove" too
}
在Player类中。假设健康是字段的名称
或者使用set和get方法
player.setHealth(player.getHealth() + 100);
您要做的是两个独立的操作
Player[] myPlayerArray = new Player[2]; //get from whereever
Arrays.sort(myPlayerArray, new Comparator<Player>() {
public int compare(Player p1, Player p2) {
return p1.Health.compareTo(p2.Health); //or however you want it ordered
}
});
编辑:
添加了一些链接以帮助您完成此操作:
Player[] myPlayerArray = new Player[2]; //get from whereever
Arrays.sort(myPlayerArray, new Comparator<Player>() {
public int compare(Player p1, Player p2) {
return p1.Health.compareTo(p2.Health); //or however you want it ordered
}
});
int increment = 100;
for (Player player : myPlayers) {
player.Health += increment;
}