0

在 Scores.java 中创建一个采用 2 个参数的方法:player1Scores 和 player2Scores。该方法应打印出 player1 赢得的游戏数和 player2 赢得的游戏数。

这是我们老师布置的作业的最后一部分,我不知道从哪里开始。我在想一个简单的比较每场胜利,但这不是由 Player1Score 提供的。它只存储正在进行的游戏的当前分数。我需要能够计算出所有已经发生的游戏。知道如何将其添加到我的代码中吗?这是我目前正在开发的程序的一个片段。

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Scores {

public static void main (String args[]) 

{


}
static String allScoresFilename = "allscores.txt";

static String lastScoreFilename = "lastscores.txt";

public boolean writeScores(int player1Score, int player2Score) throws IOException {

PrintWriter scores = new PrintWriter (new File ("Score.txt"));

    scores.println("Player 1 \t Player 2 \n " +player1Score+"\t\t\t " +player2Score);

PrintWriter scores1 = new PrintWriter(new BufferedWriter(new FileWriter("Scores Append", true)));

    scores1.println("Player One:"+player1Score+"\tPlayer Two:"+player2Score);

    scores1.close();

    scores.close();

    return true;

}//End writeScores

public boolean appendScores(int player1Score, int player2Score) throws IOException{

    return true;

}//End appendScores

public void readScores() throws FileNotFoundException

{

    File scores = new File ("Scores Append");

    Scanner fileScanner = new Scanner (scores);

    fileScanner.useDelimiter("[\t|,|\n|\r|:]+");

    String players, player1;

    int numbers, i=0;

    int []p1= new int[10];

    int []p2= new int[10];

    while (fileScanner.hasNext())
    {

        players = fileScanner.next();

        p1[i] = fileScanner.nextInt();

        player1 = fileScanner.next();

        p2[i] = fileScanner.nextInt();

        System.out.println ("p1 is currently "+ p1[i]);

        System.out.println ("p2 is currently "+ p2[i]);

        i++;
    }

}//End readScores

public boolean wins(int player1Score, int player2Score) throws IOException

{

    return true;

}//End wins
}
4

2 回答 2

0

您已经有一个readScores函数可以读取玩家 1 和玩家 2 得分的列表。基于此,您可以轻松地查看这些数组并确定哪位玩家赢得了每场比赛。

于 2014-01-31T22:38:29.593 回答
0

将这些数组的声明放在外面readScores()并将其放在类的顶部,以便您可以wins使用它们进行调用。

int []p1= new int[10];

int []p2= new int[10];

将签名更改为wins

public void wins(int []player1Scores, int []player2Scores)
{
    int player1Wins = 0;
    int player2Wins = 0;

    for (int i = 0; i < 10; i++)
        (player1Scores > player2Scores) ? player1Wins++ : player2Wins++;

    System.out.printf("Player 1 wins: %-10i Player 2 wins %-10i", player1Wins, player2Wins);
}//End wins

我不会回复对此的任何评论,因为我今晚超级忙,但祝查尔斯好运。

于 2014-02-01T01:06:25.497 回答