如何使用布尔函数和数组为 Java 中的两个不同团队计算和显示 win/loss

How do I calculate and display win/loss for two different teams in Java using a boolean function and arrays

我对 Java 还是个新手,有一项作业让我难以完成。我相信我的布尔函数是正确的,但是我不知道在 main 函数中写什么。

这是作业:
编写一个 public 函数(静态方法)winner(int points1,int points2),它接受两个分数和 returns 一个布尔值。如果 points1 大于 points2,则函数 return 为真,如果 points1 小于 points2,则函数 return 为假。分数不应并列,但如果发生这种情况,则 return 为 false。如果条件 none 为真,则函数 return 为假。

在你的main函数中,创建两个数组——第一个数组是球队1的积分,第二个数组是对手在相应比赛中的积分,即数组中的第一项是每个球队在第一场比赛中的得分游戏等等。数组长度相同。

使用上面的winner函数,计算并打印team1的win/loss记录。如果所有比赛都赢了,打印一条消息说 team1 有一个完美的记录。以下是一些示例:

Team1 积分 {23,45,65,20}

对手积分 {56,67,20,18}

这是 teamRecord 应该打印的内容:

Team1 记录

赢 2 损失 2

到目前为止我的代码

import java.util.*;
public class TeamScore {

public static boolean createWinner(int points1, int points2)  
 {
  if (points1 > points2)
  {
  return true;
  }
        else
 {
  return false;  
 } 
 }
public static void main(String[] args) {

Scanner in = new Scanner(System.in);
int[] team1Array = new int[4];
int[] team2Array = new int[4];
int result1 = 0; 
int result2 = 0; 
int team1Score;
int team2Score;
int win;
int loss;


 System.out.println("Enter Team 1 points: ");
 team1Score = Integer.parseInt(in.nextLine());
 System.out.println("Enter Team 2 points: ");
 team2Score = Integer.parseInt (in.nextLine()); 

 for (int i=0; i <team1Array.length; i++)

 {

  createWinner(points1);

 }


  System.out.println("Win"+ team1Score);
  //System.out.println(result2+"");
}






}

获取用户输入 4 次并使用 for 循环将其存储在数组中:

for (int i =0; i<4; i++) {
     team1Array[i]= //take user input for team1
     team2Array[i] = //take user input for team2
}

然后你可以遍历数组并增加个人分数,如:

for (int i=0; i <team1Array.length; i++) {
   if (createWinner(points1)) {
       //increment team1Score;
   } else {
       //increment team2Score;
   }
}

使用 if 比较个人得分,并通过打印到控制台宣布获胜者。

你的代码中有很多问题:

1) 你声明了一个函数 createWinner(int points1, int points2) ,但在你的 main 中你调用了 createWinner(points1)

2) 在您的主语中,points1 是什么?你没有申报。

3) 在计算之前,你应该填充你的数组

在这个解释之后,你可以修改你的代码如下:

        import java.util.*;
        public class TeamScore {

        public static boolean createWinner(int points1, int points2)  
         {
          if (points1 > points2)
          {
          return true;
          }
                else
         {
          return false;  
         } 

         return false;
         }
        public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        int[] team1Array = new int[4];
        int[] team2Array = new int[4];

        int team1Score = 0;
        int team2Score = 0;


        for (int i =0; i<4; i++) {
     System.out.println("Enter Team 1 points: ");
             team1Array[i]= Integer.parseInt(in.nextLine());
    System.out.println("Enter Team 2 points: ");
             team2Array[i] = Integer.parseInt(in.nextLine());
        }




         for (int i=0; i <4; i++)

         {

        if (createWinner(team1Array[i],team2Array[1])) {
           team1Score+=1;
       } else {
           team2Score+=1;
       }

         }


  if(team1Score>0 && team2Score == 0){
        System.out.println("Team 1 has perfect record !");
    }else{
          System.out.println("Win "+ team1Score);

          System.out.println("Loss "+ team2Score);

        }





        }
}

少或多都可以(我没试过)。