如何使用布尔函数和数组为 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);
}
}
}
少或多都可以(我没试过)。
我对 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);
}
}
}
少或多都可以(我没试过)。