【问题标题】:Format data entered in 2d array格式化二维数组中输入的数据
【发布时间】:2017-02-01 21:56:48
【问题描述】:

在程序中,您必须输入 4 名球员的保龄球得分,例如:

  • 输入球员约翰的分数 1 ---> 5
  • 输入球员比尔的得分 1 ---> 7
  • 输入玩家 Bob 的分数 1 ---> 8
  • 输入玩家菲尔的分数 1 ---> 10

和上面一样,每个玩家得分 10 分。我遇到的麻烦是在输入每个分数后制作一个表格来显示当前分数。当更新最右侧显示的新分数时,它还必须更新迄今为止的总分数。表格应该是这样的

Picture of what table is to look like

这是我目前的代码。

package bowling;

import java.util.Scanner;

public class bowling {

private static final int NUMBER_OF_ENDS = 10;
private static String[] player = new String[4];
private static int[][] scores = new int[4][NUMBER_OF_ENDS];

public static void addPlayer() {
    Scanner input = new Scanner(System.in);
    for (int counter = 0; counter < player.length; counter++) {
        System.out.println("Enter player #" + counter + " name");
        player[counter] = input.nextLine();

    }
}

public static void addScores() {
    Scanner input = new Scanner(System.in);
    for (int inner = 0; inner < NUMBER_OF_ENDS; inner++) {
        for (int counter = 0; counter < player.length; counter++) {

            System.out.print("Enter score number " + (inner + 1) + " score for " + player[counter] + "---->");
            scores[counter][inner] = input.nextInt();

        }
    }

}

}

【问题讨论】:

  • 您可以将所有分数的矩阵初始化为 0。您还可以有一个额外的数组来跟踪当前分数 - 这将只是该玩家迄今为止所有分数的总和。这个总和必须在每次插入后调用。

标签: java arrays multidimensional-array


【解决方案1】:

我会使用一个单独的数组来存储玩家总数,称之为:

int[] totals = new int[4];

您可以在每次添加新分数时增加总分:

scores[counter][inner] = score;
totals[counter] += score; // increment the total for that player

您可以编写一个名为 showScores() 的方法,每次添加分数时调用该方法,并增加总分:

scores[counter][inner] = score;
totals[counter] += score; // increment the total for that player
showScores();

在该方法中,您需要:

  • 遍历每个玩家
  • players 数组中打印名称,然后在scores 数组中为该玩家迭代并打印他们的每个分数,然后使用相同的玩家索引从totals 数组中打印他们的总分.

我将把这部分留给你,因为它并不比你已经写的更难,它只是一个稍微不同的嵌套循环。让它打印出正确的数据,然后再进行格式化。

【讨论】:

    猜你喜欢
    • 2021-04-07
    • 1970-01-01
    • 2017-03-14
    • 2021-05-01
    • 1970-01-01
    • 2021-04-29
    • 2021-12-17
    • 2020-07-15
    • 1970-01-01
    相关资源
    最近更新 更多