0

文本文件:

3 2 3
4 5 5
5 6 6
4 3 4
4 3 4
4 4 5
5 5 6
3 3 3
4 4 5

第一个数字(每行):par

第二个数字(每行):玩家 1 的得分

第三个数字(每行):玩家 2 的得分

我需要程序来读取所有的标准杆、第一名球员的分数和第二名球员的分数。该程序必须读取每列的第一个数字并将其相加。

for (int roundNum = 1; roundNum < 10; roundNum++)
{
    int par;
    int firstPlayer;
    int secondPlayer;
    int totalPar;

    par = in.nextInt();
    firstPlayer = in.nextInt();
    secondPlayer = in.nextInt();

    totalPar = par * 9;

    System.out.println(totalPar);
    System.out.println(firstPlayer);
    System.out.println(secondPlayer);
}

我放入扫描仪和其他东西来阅读文本文件。for 循环用于读取文本文件的所有 9 行。最后,我尝试使用 totalPar 来获取所有 par 的总和,但它对我来说效果不佳。我还希望能够将 totalPar 放在 for 循环之外,但它对我不起作用,因为括号已经在整数 par 初始化的位置关闭。

4

4 回答 4

0

代替...

totalPar = par * 9;

我想你想要...

totalPar += par * 9;

或者...

totalPar += par;

我不确定“* 9”是什么意思,但是无论如何,如果不使用 += 而不是 =,您将不会有任何类型的总和。通过使用 =,您将在每次迭代中将总计设置为 par,但使用 +=,您将总计设置为 par 加上前一个总计。

不过,在这之前,您需要在 for 循环之外声明 totalPar,如下所示:

int totalPar = 0;
于 2013-09-26T00:55:10.660 回答
0

您肯定需要声明变量:

int par;
int firstPlayer;
int secondPlayer;
int totalPar;

循环之前;否则,每次运行循环时,您将继续获得最后一个值。

int par循环之前声明您可以使用:

totalPar += par;

在循环内部添加每个新的面值。循环结束后,您将获得总标准杆。

于 2013-09-26T00:57:36.347 回答
0

利用

String[] array = yourstring.split(" ");

对于每一行。然后

total = total + Integer.ParseInt(array[0]);
于 2013-09-26T00:57:46.453 回答
0

在 for 循环之前声明 totalPar 并在循环内每次都使 totalPar += par ?

于 2013-09-26T00:49:45.083 回答