我还是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 比较个人分数,并通过打印到控制台上宣布获胜者。