gpt4 book ai didi

java - (JAVA) 如何创建足球联赛积分榜的基本文本输入和输出?

转载 作者:行者123 更新时间:2023-12-01 17:31:24 24 4
gpt4 key购买 nike

我有一个作业(Java使用Netbeans输入俱乐部名称,输入分数,然后打印类似表格的联赛排名。每一行都显示我们输入的结果,并按应有的方式显示排名(具有最大点的俱乐部名称位于表格顶部:这就是我的意思:(用户输入粗体)

输入俱乐部数量:4
输入俱乐部 1:ManUtd
输入俱乐部 2:利物浦
输入俱乐部 3:切尔西
输入俱乐部4:阿森纳

输入分数:
曼联 x 利物浦:1 1
曼联 x 切尔西:1 0
曼联 x 阿森纳:1 0
利物浦 x 切尔西:1 1
利物浦 x 阿森纳:1 0
切尔西 x 阿森纳:1 1

并显示团队记录的输出,如下所示:

球队获胜平局失分
马努德 3 2 1 0 7
利物浦 3 1 2 0 5
切尔西 3 0 2 1 2
阿森纳 3 0 1 2 1

++++++++++++++++++++++++++++++++++++++++++++++++

我试图将我从课本上读过的全部知识联系起来,但效果不佳。但不知道如何使用该输入中的数组、循环函数、整数/数据。我无法真正意识到可以引导我找到解决方案的提示。有人可以帮我吗?我刚刚自学 Java,COVID-19 使我的学习很难达到我的讲师的要求。

对于任何回复此问题的人,感谢您的帮助:)

我的基本代码卡在这里:

package standings;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class LeagueStandings {

public static void main(String[] args) {
BufferedReader input = new BufferedReader(new
InputStreamReader(System.in));
int data = 0;
String[] nama = new String[30];


System.out.println("CLUB NAME");

System.out.println("+===============INPUTAN============================+");
try{
System.out.println("How Many Clubs ? = ");
data = Integer.parseInt(input.readLine());
for (int a=1;a<=data;a++){
System.out.println("------Club No."+ a +"------");
System.out.println("Enter club name = ");
nama[a] = input.readLine();

}
} catch (IOException e ){
System.out.println("Error");
}

}

预期的结果是这样的(讲师预期的结果)

expected result

最佳答案

这是您问题的解决方案。由于您是初学者,我尝试编写尽可能简单的解决方案。

package com.standings;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class LeagueStandings {

public static void main(String[] args) {
try {
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
int data = 0;
System.out.print("Input number of clubs:\t");
data = Integer.parseInt(input.readLine());
String[] teamList = new String[data];
for (int i = 0; i < data; i++) {
System.out.print("Enter club " + (i + 1) + " :\t");
teamList[i] = input.readLine();
}

System.out.println("-------------------------------------------------");

// representing 2D array of team score board where each scoreBoard is of type
// 0 1 2 3 4
// [played] [win] [draw] [loose] [points]
int[][] scoreBoard = new int[data][5];
for (int i = 0; i < data - 1; i++) {
for (int j = i + 1; j < data; j++) {
System.out.print(teamList[i] + " X " + teamList[j] + " : ");
String score = input.readLine();
List<String> scoreList = new ArrayList<String>(Arrays.asList(score.split(" ")));
scoreList.removeIf(s -> s.equals(""));
int teamAScore = Integer.parseInt(scoreList.get(0));
int teamBScore = Integer.parseInt(scoreList.get(1));
scoreBoard[i][0]++;
scoreBoard[j][0]++;
if (teamAScore > teamBScore) {
scoreBoard[i][1]++;
scoreBoard[j][3]++;
scoreBoard[i][4] += 3;
} else if (teamAScore == teamBScore) {
scoreBoard[i][2]++;
scoreBoard[j][2]++;
scoreBoard[i][4]++;
scoreBoard[j][4]++;
} else {
scoreBoard[i][3]++;
scoreBoard[j][1]++;
scoreBoard[j][4] += 3;
}
}
}

System.out.format("%15s%15s%15s%15s%15s%15s\n", "TEAMS", "PLAYED", "WIN", "DRAW", "LOOSE", "POINTS");
for (int i = 0; i < data; i++) {
System.out.format("%15s", teamList[i]);
System.out.format("%15d%15d%15d%15d%15d\n", scoreBoard[i][0], scoreBoard[i][1], scoreBoard[i][2], scoreBoard[i][3], scoreBoard[i][4]);
}
} catch (IOException e) {
System.out.println("Error");
}
}
}


关于java - (JAVA) 如何创建足球联赛积分榜的基本文本输入和输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61115674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com