Java 如何将分数正确地分配给球员?
我有一个有3名玩家的阵法和一个有几个异能的阵法Java 如何将分数正确地分配给球员?,java,arrays,Java,Arrays,我有一个有3名玩家的阵法和一个有几个异能的阵法 String[] array_Player = {"Celine", "Amelia", "Olivia"}; int[] array_power_1 = {4,2,10}; 力量最小的球员得2分,最好的得6分 我想得到这个结果: Celine | power 4 => points 4 Amelia | power 2 => points 2 Olivia | powe
String[] array_Player = {"Celine", "Amelia", "Olivia"};
int[] array_power_1 = {4,2,10};
力量最小的球员得2分,最好的得6分
我想得到这个结果:
Celine | power 4 => points 4
Amelia | power 2 => points 2
Olivia | power 10 => points 6
以下是我目前的结果:
Celine | power 4 => points 2
Amelia | power 2 => points 4
Olivia | power 10 => points 6
我的观点没有正确的归属
我认为我的数组\u点\u幂法不正确
public static void array_point_power(String[] array_Player, int[] array_point){
int points = 2;
for(int i=0; i<array_Player.length; i++){
array_point[i] = points;
points = points + 2;
}
}
这是我的密码:
import java.util.*;
class Main {
public static void main(String[] args) {
String[] array_Player = {"Celine", "Amelia", "Olivia"};
int[] array_power_1 = {4,2,10};
int[] array_point_1 = new int[3];
System.out.println("Round 1 : ");
array_point_power(array_Player, array_point_1);
affichage_round(array_Player, array_power_1, array_point_1);
}
public static void array_point_power(String[] array_Player, int[] array_point){
int points = 2;
for(int i=0; i<array_Player.length; i++){
array_point[i] = points;
points = points + 2;
}
}
public static void affichage_round(String[] array_Player, int[] array_power, int[] array_point) {
for(int i=0; i<array_Player.length; i++){
System.out.println("Joueur " + array_Player[i] + " | Puissances " + array_power[i] + " | Points " + array_point[i] );
}
}
}
谢谢你的帮助。在阵法中,你从不比较玩家的力量,你只是按顺序分配分数
你必须根据球员的实力对他们进行排序,然后再对分数进行奖励。
为此,最好创建一个包含玩家名称和力量的玩家对象,并且在数组中点力量-你从不比较玩家力量-你只是按顺序分配分数
你必须根据球员的实力对他们进行排序,然后再对分数进行奖励。
为此,最好使用名称和权限创建一个Player对象,更为java的方法是使用封装并创建一个Player类
public class Player {
private String name;
private int power;
private int points;
public Player(String name, int power) {
this.name = name;
this.power = power;
}
public String getName() {
return name;
}
public int getPower() {
return power;
}
public void setPoints(int points) {
this.points = points;
}
public int getPoints() {
return points;
}
}
然后在你的主课上
public class Main {
public static void main(String[] args) {
List<Player> players = new ArrayList<>();
players.add(new Player("Celine", 4));
players.add(new Player("Amelia", 2));
players.add(new Player("Olivia", 10));
bubbleSort(players);
array_point_power(players);
System.out.println("Round 1 : ");
showResults(players);
}
//If the points is based on multiples of 2 you can use i to assign points
private static void array_point_power(List<Player> players) {
for (int i = 0; i < players.size(); i++) {
players.get(i).setPoints(i * 2 + 2);
}
}
//Make a simple bubble sort based on the players powers
private static void bubbleSort(List<Player> players) {
for (int i = 0; i < players.size(); i++) {
for (int j = 0; j < players.size(); j++) {
if (players.get(i).getPower() < players.get(j).getPower()) {
Player temp = players.get(i);
players.set(i, players.get(j));
players.set(j, temp);
}
}
}
}
private static void showResults(List<Player> players) {
for (int i = 0; i < players.size(); i++) {
System.out.println("Joueur " + players.get(i).getName() +
" | Puissances " + players.get(i).getPower() +
" | Points " + players.get(i).getPoints());
}
}
}
一种更为java的方法是使用封装并生成一个播放器类
public class Player {
private String name;
private int power;
private int points;
public Player(String name, int power) {
this.name = name;
this.power = power;
}
public String getName() {
return name;
}
public int getPower() {
return power;
}
public void setPoints(int points) {
this.points = points;
}
public int getPoints() {
return points;
}
}
然后在你的主课上
public class Main {
public static void main(String[] args) {
List<Player> players = new ArrayList<>();
players.add(new Player("Celine", 4));
players.add(new Player("Amelia", 2));
players.add(new Player("Olivia", 10));
bubbleSort(players);
array_point_power(players);
System.out.println("Round 1 : ");
showResults(players);
}
//If the points is based on multiples of 2 you can use i to assign points
private static void array_point_power(List<Player> players) {
for (int i = 0; i < players.size(); i++) {
players.get(i).setPoints(i * 2 + 2);
}
}
//Make a simple bubble sort based on the players powers
private static void bubbleSort(List<Player> players) {
for (int i = 0; i < players.size(); i++) {
for (int j = 0; j < players.size(); j++) {
if (players.get(i).getPower() < players.get(j).getPower()) {
Player temp = players.get(i);
players.set(i, players.get(j));
players.set(j, temp);
}
}
}
}
private static void showResults(List<Player> players) {
for (int i = 0; i < players.size(); i++) {
System.out.println("Joueur " + players.get(i).getName() +
" | Puissances " + players.get(i).getPower() +
" | Points " + players.get(i).getPoints());
}
}
}
现在你的阵列\u点\u功率不是比较功率。你只需按顺序分配分数。如果你想保持阵法的力量,你需要在执行阵法后按力量顺序提升你的玩家_power@KunLun:谢谢您的帮助,但是如何比较我的数组\u点\u幂法中的数组\u幂\u 1和数组\u点\u幂?我不明白。我说的是比较玩家在阵法中的力量。你需要找到较低的,在较低之后的下一个,依此类推,以知道如何分配分数。现在你的数组\u点\u幂不是比较幂。你只需按顺序分配分数。如果你想保持阵法的力量,你需要在执行阵法后按力量顺序提升你的玩家_power@KunLun:谢谢您的帮助,但是如何比较我的数组\u点\u幂法中的数组\u幂\u 1和数组\u点\u幂?我不明白。我说的是比较玩家在阵法中的力量。你需要找到下一个,下一个等,知道如何分配分数。谢谢你的帮助。我必须创建一个排序气泡方法?如果您按照链接的答案进行操作,您可以使用Arrays.sortplayers谢谢您的帮助。我必须创建一个排序气泡方法?如果您按照链接的答案操作,您可以使用数组。SortPlayers非常感谢您的帮助。我是初学者,我们只学过程编程,不学面向对象编程。我被你的密码迷住了-非常感谢你的帮助。我是初学者,我们只学过程编程,不学面向对象编程。我被你的密码迷住了-谢谢,非常感谢Voinea Radu解决了我的问题。我被封锁了三天。非常感谢。谢谢,非常感谢Voinea Radu解决了我的问题。我被封锁了三天。非常感谢你。