使用游戏结果导入.txt文件并输出带有团队记录的文件

时间:2015-12-11 21:53:32

标签: java import export

我在一个读取.txt文件的程序上取得了一些进展:

足球

Lions Panthers Tigers Sky
Panthers    4   Tigers      3
Tigers      3   Lions       1
Sky         2   Panthers    0
Lions       2   Tigers      1
Tigers      1   Sky         6
Sky         2   Panthers    1
Tigers      1   Sky         4
Panthers    3   Tigers      6
Lions       3   Sky         2
Tigers      4   Sky         3
Sky         2   Panthers    1
Lions       4   Panthers    6

然后输出将每个团队的赢/输记录放在一个新文件中" results.txt":

结果

Team        Wins        Losses
Lions       2            2
Panthers    2            4  
Sky         5            2
Tigers      3            4

到目前为止,我的代码没有正确跟踪每个团队和损失。我开始写一些肯定是if-else语句的广泛链,但是没有得到任何结果。必须有一种更好的方式来做到这一点,我错过了。这是我到目前为止所做的:

 import java.io.*;   
 import java.util.*;

public class Soccer
{
  public static void main (String[] args) throws IOException
  {
    //initiate an input file object and scanner object
    File inData = new File("soccer.txt");
    if(!inData.exists())
    {
      System.out.println("File does not exist");
      System.exit(0);
    }
    Scanner input = new Scanner(inData);

    //create output file and a printWriter object
    File outData = new File("results.txt");
    PrintWriter output = new PrintWriter(outData);


    String teamName1 = input.next();
    int wins1 = 0;
    int loses1 = 0;
    String teamName2 = input.next();
    int wins2 = 0;
    int loses2 = 0;
    String teamName3 = input.next();
    int wins3 = 0;
    int loses3 = 0;
    String teamName4 = input.next();
    int wins4 = 0;
    int loses4 = 0;

    while(input.hasNext())
    {
      String teamOne = input.next();
      int scoreOne = input.nextInt();
      String teamTwo = input.next();
      int scoreTwo = input.nextInt();

      if(scoreOne>scoreTwo && teamOne==teamName1)
      {
        wins1++;
      }
      else if(scoreOne<scoreTwo && teamOne==teamName1)
      {
        loses1++;
      }
    }    
    output.println("Team\t\tWins\t\tLosses");
    output.println(teamName1+"\t\t"+wins1+"\t\t"+loses1);
    output.println(teamName2+"\t"+wins2+"\t\t"+loses2);
    output.println(teamName3+"\t\t"+wins3+"\t\t"+loses3);
    output.println(teamName4+"\t\t"+wins4+"\t\t"+loses4);

    input.close();
    output.close();
  }
}

0 个答案:

没有答案