gpt4 book ai didi

java - 通过 void 方法获取两个单独的数组

转载 作者:行者123 更新时间:2023-11-29 07:49:05 26 4
gpt4 key购买 nike

我在 Java 的 100 级类(class)中......非常新,这是我的第一个问题,所以请多多包涵 :)。

我有一个任务,两个用户要输入他们的名字,然后获取他们玩过的游戏的数量,然后获取他们玩过的每场游戏的分数,将分数放入一个数组(或两个数组???) ,然后比较两个数组和分数,看看谁赢得了每场比赛,或者他们是否平手,然后显示结果。我不相信我不必对它进行排序或搜索。

我的老师说获取分数必须是一个 void 方法,但我不确定如何从这个 void 方法中获取值到每个玩家的数组中,以便我可以比较分数值。

这是我将分数放入数组的方法:

    public static void inputScores(int[] array, String msg)  {
String inputScores = "";
for (int i = 1; i < array.length; i++) {
inputScores = JOptionPane.showInputDialog(msg + " enter your score for game " + i);
array[i] = Integer.parseInt(inputScores);
}
}

这是我的主要方法:

     public static void main(String[] args) {
//Get the number of games from the user, this is the array length
int[] numberOfGamesPlayed = new int[getPositiveIntOrQuit("How many games were played?")];

//Get the names of the players (Two)
String input, input2 = "";
input = JOptionPane.showInputDialog("Player 1 - enter your name");
inputScores(numberOfGamesPlayed, input);


input2 = JOptionPane.showInputDialog("Player 2 - enter your name");
inputScores(numberOfGamesPlayed, input2);

//Get two separate arrays, one for Player1, one for Player2





String output = "";

showResults(WINDOW_TITLE, output);
}
}

是的,它有点困惑等等,但我正在尝试自己解决这个问题。这是我的 compareScores 方法,但我知道它一团糟。我已经尝试过它,但是是的,它变得越来越困难。

    public static String compareScores(int[] playerOne, int[] playerTwo, String msg, String msg2) {
String output = "";
int player1Wins = 0;
int player2Wins = 0;
int tie = 0;
for(int i = 0; i < playerOne.length; i++) {
for(int j = 0; j < playerTwo.length; j++); {
if(playerOne[i] > playerTwo[i]) {
output += "Game " + i + " results:" + "\n" + msg + " outscored " + msg2
+ " by " + (playerOne[i] - playerTwo[i]) + "points.";
player1Wins++;
}
else if(playerOne[i] < playerTwo[i]) {
player2Wins++;
output += "Game " + i + " results:" + "\n" + msg2 + " outscored " + msg
+ " by " + (playerTwo[i] - playerOne[i]) + "points.";
}
else {
output += msg + " and " + msg2 + " scored the same number of points.";
tie++;
}

}
output += "Summary: ";


}
return output;
}

是的,我知道很多,我不擅长解释,但如果有人能帮助我,我不介意尝试解释更多正在发生的事情,如果这意味着获得帮助,因为我真的被困得像疯了一样现在。

感谢所有帮助/)

最佳答案

如果这是一项类作业,我会建议您与您的同学或高年级同学交谈,如果允许的话,这始终是最好的学习方式。如果不允许,那么您也不应该在这里为您的作业寻求帮助 :-)

上学的一部分是学习如何思考、学习语言和解决问题

尝试一些 OOP 或面向对象的原则。

在实际编码之前,请始终将您的算法写在纸上。使用 sudo 代码,列出所有步骤,然后寻找缩短它的方法。我们都知道硬件很便宜,但优雅的解决方案也必须是高效的解决方案。并且不要忘记 KISS,保持简单 S*** :-) 祝你好运。

关于java - 通过 void 方法获取两个单独的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22739259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com