如何使用布尔函数和数组在 Java 中计算和显示两个不同团队的输赢



我还是Java新手,有一个作业被困住了。我相信我得到了正确的布尔函数,但是我不知道在主函数中写什么。

这是作业:
编写一个公共函数(静态方法)winner(int points1,int points2),它接受两个分数并返回一个布尔值。如果点 1 大于点 2,则函数返回 true,如果点 1 小于点 2,则函数返回假。点不应该平局,但如果发生这种情况,则返回 false。如果所有条件都不为真,则该函数返回 false。

在你的主函数中,创建两个数组 - 第一个数组是球队 1 的积分,第二个数组是对手在相应游戏中的积分,即数组中的第一项是每支球队在第一场比赛中的得分,依此类推。数组的长度相同。

使用上面的函数获胜者,计算并打印 team1 的输赢记录。如果所有比赛都赢了,请打印一条消息,说明 team1 拥有完美的记录。以下是一些示例:

团队1积分{23,45,65,20}

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

这是团队记录应该打印的内容:

团队1 记录

赢 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+"");
}



}

你的代码中有很多问题:

1)你声明了一个函数createWinner(int points1, int points2),但在你的主函数中你调用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);
        }


        }
}

更少或更多应该有效(我没有尝试)。

用户那里获取 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 比较个人分数,并通过打印到控制台上宣布获胜者。

最新更新