我在一个读取.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();
}
}