私は現在、いくつかの助けに感謝しているJava宿題を持っています。チーム記録シナリオを計算します。
我々は、以下の番号を付している。
Team1は{23,45,65,20}配列から数値を引き出す方法
相手ポイント {20,30,20,18}
Iアレイにそれらを投げたポイント。私はまた、公開ブール値を作成しました。基本的には、これらの点を配列からブール値に引っ張る必要がありますか?そしてブールはどのチームが勝つのか決定しますか?チーム1が勝ったのは明らかですが、我々は人間にではなくコンピュータに決定させることになっています。ここで
は私のコードです:
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で最高の教師がいませんでした。どんな助けもありがとう!
EDIT:
これは変数i - > 1を変更することで既に修正できるので、これは重複した質問ではないと思います。私の問題は、チーム1が既にスコアに関係なく勝ったとコンピュータが判断したことです。
コードを実行すると、私はjava.lang.ArrayIndexOutOfBoundsException
エラーが発生しています。しかし、私がteam1Points[i]
をteam1Points[1]
に変更すると、それは大丈夫になり、「チーム1は完璧な記録を持っています!」と伝えます。しかし、team1Points
の配列値の一部をopponentPoints
未満に変更すると、「チーム1には完璧な記録が残っています!」と表示されます。
そして、わかりやすい字下げを使用します。これらの括弧は場所外です。何が問題ですか ? – AxelH
コードを実行すると、範囲外のエラーが発生します。しかし、私が 'team1Points [i]'を 'team1Points [1]'に変更すると、大丈夫になり、 ''チーム1は完璧な記録を持っています!しかし、 'team1Points'の配列値のいくつかを' opponentPoints'よりも小さく変更すると、 ''チーム1は完璧なレコードを持っています!私はこれを理解しようとしています。/ –
'for(int i = 0; i <5; i ++){'は 'i = 0'から' i = 4'までループしますが、 0] '〜' [3] ' – AxelH