比较txt文件中的两个列值-Java

比较txt文件中的两个列值-Java,java,Java,我的任务是从Price is Right show中获取一个包含500个“大轮子”游戏结果的.txt文件,并输出%Player 1、2和3获胜的内容(格式为P1W、P2W和P3W),以及三方(T3)和双向平局(T2)的结果。我的文本文件的格式如下: Plr1 Plr2 Plr3 55 85 45 75 75 75 75 50 75 75 Over 90 Over 90 95 ... Plr1 Plr2 Plr3 55 85

我的任务是从Price is Right show中获取一个包含500个“大轮子”游戏结果的.txt文件,并输出%Player 1、2和3获胜的内容(格式为P1W、P2W和P3W),以及三方(T3)和双向平局(T2)的结果。我的文本文件的格式如下:

Plr1 Plr2 Plr3 55 85 45 75 75 75 75 50 75 75 Over 90 Over 90 95 ... Plr1 Plr2 Plr3 55 85 45 75 75 75 75 50 75 75比90 90岁以上95 ... 我的问题是我不确定如何将我的column1数据与column2和column3进行比较。这就是我到目前为止所做的:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

public class BigWheel {

public static void main(String[] args) {

    Scanner fileIn = null;
    PrintWriter fileOut = null;
    String header;
    String aLine;
    String player;
    double total;
    int games;
    int T3;
    int T2;
    int P1W;
    int P2W;
    int P3W;

    /* input file and generate output file */

    try {
        fileIn = new Scanner(new File("BigWheelScores.txt"));

    } catch (FileNotFoundException e) {
        System.out.println("Sorry, I cannot find your input file");
        System.exit(0);

        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    try {
        fileOut = new PrintWriter("output.txt");
    } catch (FileNotFoundException e) {
        System.out.println("Sorry, I cannot open your output file");
        System.exit(0);

        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    /* data load process */ 

    header = fileIn.nextLine();

    while (fileIn.hasNextLine()) {

        aLine = fileIn.nextLine();

        String[] tokens = aLine.split("\\s+");
        player = tokens[0];


/* calculate wins, ties, and games played */    

    games = 0;
    T3 = 0;
    T2 = 0;
    P1W = 0;
    P2W = 0;
    P3W = 0;


         for (int row = 1; row < tokens.length; row++) {
                for(int col=1; col<4; col++){   
                    if (col[1] == col[2]) && (col[2]) == (col[3])
                            T3++;
                    else 
                        if (((col[1] == col[2]) && (col[1] > col[3])) ||
                                ((col[1] == col[3]) && (col[1] > col[2])) || 
                                ((col[2] == col[3]) && (col[2] > col[1])) )
                                T2++;
                        else
                            if ((col[1] > col[2]) && (col[1] > col[3]))
                            P1W++;
                            else 
                                if ((col[2] > [col[1]) && (col[2] > col[3]))
                                P2W++;
                                else
                                    P3W++;
                }
                games++;
         }


        /* output results */

        System.out.println("Games Played: " + games);
        System.out.println("# of 3 Way Ties: " + T3);
        System.out.println("# of 2 Way Ties: " + T2);
        System.out.println("Player 1 Win %: " + (P1W/games));
        System.out.println("Player 2 Win %: " + (P2W/games));
        System.out.println("Player 3 Win %: " + (P3W/games));

        fileOut.println("Games Played: " + games);
        fileOut.println("# of 3 Way Ties: " + T3);
        fileOut.println("# of 2 Way Ties: " + T2);
        fileOut.println("Player 1 Win %: " + (P1W/games));
        fileOut.println("Player 2 Win %: " + (P2W/games));
        fileOut.println("Player 3 Win %: " + (P3W/games));

    }

    fileIn.close();
    fileOut.close();
}

}
导入java.io.File;
导入java.io.FileNotFoundException;
导入java.io.PrintWriter;
导入java.util.Scanner;
公共级大轮{
公共静态void main(字符串[]args){
Scanner fileIn=null;
PrintWriter文件输出=null;
字符串头;
弦线;
弦乐演奏者;
双倍总数;
智力游戏;
int T3;
int T2;
int P1W;
int P2W;
int P3W;
/*输入文件并生成输出文件*/
试一试{
fileIn=新扫描仪(新文件(“bigheelscores.txt”);
}catch(filenotfounde异常){
System.out.println(“对不起,我找不到您的输入文件”);
系统出口(0);
//TODO自动生成的捕捉块
e、 printStackTrace();
}
试一试{
fileOut=新的PrintWriter(“output.txt”);
}catch(filenotfounde异常){
System.out.println(“对不起,我无法打开您的输出文件”);
系统出口(0);
//TODO自动生成的捕捉块
e、 printStackTrace();
}
/*数据加载过程*/
header=fileIn.nextLine();
while(fileIn.hasNextLine()){
aLine=fileIn.nextLine();
字符串[]标记=aLine.split(\\s+);
玩家=代币[0];
/*计算胜利、平局和玩过的游戏*/
游戏=0;
T3=0;
T2=0;
P1W=0;
P2W=0;
P3W=0;
for(int row=1;rowcol[2]))
((列[2]==列[3])&&(列[2]>列[1]))
T2++;
其他的
if((列[1]>col[2])&&(列[1]>col[3]))
P1W++;
其他的
如果((列[2]>[1])&&(列[2]>列[3]))
P2W++;
其他的
P3W++;
}
游戏++;
}
/*输出结果*/
System.out.println(“玩的游戏:+游戏”);
System.out.println(“#三向拉杆:”+T3);
系统输出打印LN(“#2路连接:”+T2);
System.out.println(“玩家1赢%:”+(P1W/游戏));
System.out.println(“玩家2赢%:”+(P2W/游戏));
System.out.println(“玩家3赢%:”+(P3W/游戏));
println(“玩的游戏:+游戏”);
fileOut.println(“#3路连接:”+T3);
fileOut.println(“#2路连接:”+T2);
println(“玩家1赢%:”+(P1W/游戏));
println(“玩家2赢%:”+(P2W/游戏));
println(“玩家3赢%:”+(P3W/游戏));
}
fileIn.close();
fileOut.close();
}
}

我意识到它可能很简单,但我正在努力想一种实际实现它的方法。

程序输出了什么吗?如果是,百分比是不正确的吗?另外,你提到了文件的格式,但我什么也没看到。你忘了粘贴格式吗?看起来完全是最糟糕的编码,因为,看,这里“col”由int初始化,在同一个for循环中,您将其用作数组,如col[…],因此请正确编码。程序没有输出任何内容,因为我在将col值初始化为int后将其编码为数组。我不确定如何编写它,只使用“col[1]”语句作为占位符,直到我能找到真正有用的东西。“我不确定如何”不是一个具体的问题。