我目前有java作业,我将不胜感激一些帮助。我们要计算一个团队记录场景。
我们给出以下号码:
TEAM1点 {23,45,65,20}如何从数组中提取数字
对手点数 {20,30,20,18}
我把这些放到一个数组。我也创建了一个公共布尔值。基本上,你将这些点从数组拉到布尔值?让布尔决定哪支队伍赢了?很显然team1赢了,但我们应该让计算机决定,而不是人。
这里是我的代码:
public class TeamScore {
public static boolean Winner(int team1Points, int opponentPoints) {
if (team1Points > opponentPoints) {
return true;
} else {
return false;
}
}
public static void main(String[] args) {
// Scanner in = new Scanner(System.in);
int[] team1Points = { 23, 45, 65, 20 };
int[] opponentPoints = { 20, 30, 20, 18 };
int team1 = 1;
int opponent = 1;
for (int i = 0; i < 5; i++) {
if (Winner(team1Points[i], opponentPoints[1])) {
team1 += 1;
} else {
opponent += 1;
}
}
for (int i = 0; i < 5; i++) {
if (team1 > 0 && opponent == 0) {
System.out.println("Team 1 has the perfect record!");
} else {
System.out.println("Win" + Arrays.toString(team1Points));
System.out.println("Loss" + Arrays.toString(opponentPoints));
}
}
}
谁能可能帮助我吗?我目前在编程II,但在编程中我没有最好的老师。任何帮助将不胜感激!
编辑:
我不认为这是一个重复的问题,因为我已经可以通过更改变量i - > 1来解决它。我的问题是,电脑认为team1已经赢了,不管比分如何。
当我运行代码时,我得到一个java.lang.ArrayIndexOutOfBoundsException
错误。但是,当我将team1Points[i]
更改为team1Points[1]
时,它会好起来,并告诉我“第1队有完美的记录!”。但是,如果我将team1Points
的某些数组值更改为小于opponentPoints
,那么它仍然表示“第1队有完美的记录!”。
我会使用一个好的缩进来提高可读性。那些括号不在场所。问题是什么 ? – AxelH
当我运行代码时,出现越界错误。但是,当我将'team1Points [i]'更改为'team1Points [1]'时,那么它会很好,并告诉我''1队有完美的记录!'“。但是,如果我将'team1Points'的某些数组值改为小于'opponentPoints',那么它仍然会说'“Team 1有完美的记录!”。我只是想明白这一点。它一直很辛苦:/ –
for(int i = 0; i <5; i ++){'将从'i = 0'循环到'i = 4',但是你有一个4 int的数组[ 0]'到'[3]' – AxelH