我试图计算文本文件中的分数。在这个文本文件中,一些分数被替换为x'并且这些是异常。我尝试过不同的尝试,但是得分总是为0!如果有人能指出我正确的方向,这将是伟大的!谢谢:))
while (txtFileScan.hasNext()) {
//Splits the array into lines and splits it, it then adds up what's in arrayStore[2] and [3].
String ln = txtFileScan.nextLine();
String[] arrayStore = ln.split(":");
if (arrayStore.length == 4) {
System.out.printf(arrayStore[0], arrayStore[2], arrayStore[1], arrayStore[3]);
//If statements: if arrays are null, nested if to check if there are any x's.
if (arrayStore[2] != null && arrayStore[3] != null) {
if (arrayStore[2].trim().indexOf("x") >= 0 && arrayStore[3].trim().indexOf("x") >= 0) {
total = Integer.parseInt(arrayStore[2] + arrayStore[3]);
}
}
}
}
Leeds United : Liverpool : 1 : 2
Chelsea : Manchester City : 1 : 1
Aston Villa : Middlesbrough : 3 : 1
Tottenham Hotspur : Stoke City : 0 : 0
West Ham United : Wigan Athletic :2 : 1
Fulham : Liverpool : 1 : 2
Wigan Athletic : Leeds United : 2 : 2
Arsenal Liverpool :2:2
Hull City: Tottenham Hotspur : 3 : 5
Everton : Portsmouth:4 : 2
Stoke City : West Bromwich Albion : 5 : 4
Leeds United : Liverpool : 1: 10
Blackburn Rovers : Fulham : 1 : 1
West Ham United : Newcastle United : 0 : 0
Manchester United : Wigan Athletic : 1 : 2
Hull City : Sunderland : 2 : 3
Chelsea : Manchester City :1
Fulham : Leeds United : 1 : 2
Wigan Athletic : Tottenham Hotspur : 2 : 2
Hull City : Everton : 3 : 5
: :2:0
Sunderland : Blackburn Rovers : 4 : 2
Stoke City : West Bromwich Albion : 5 : 4
Hull : Liverpool : 5: x
Blackburn Rovers : Fulham : 1 : 1
Chelsea : Everton : a : 1
Sunderland : Newcastle United : 0 : 0
Hull : :2:3
Sunderland : Blackburn Rovers : 1 : 2
Hull City : Everton : 2 : 3
Leeds United : Chelsea : 1 : 2
Chelsea : Manchester City : 1 : 1
Aston Villa:Fulham:3:1
Manchester City : Stoke City : 0 : 0
West Ham United : Middlesbrough : 2 : 1
答案 0 :(得分:0)
在你的if条件中,你只是总计有" x"位置2和位置3。 这种情况从未在您的示例输入中发生
我认为你想要的是跳过一个或另一个得分为x的分数。因此
if(arrayStore [2] .trim()。indexOf(" x")== -1&& arrayStore [3] .trim()。indexOf(" x&# 34;)== -1)
{
total = Integer.parseInt(arrayStore [2] + arrayStore [3]);
}
您可能还需要进一步的工作。
答案 1 :(得分:0)
为您提出一些建议:
printf
语句看起来像是要用于追踪?查看Logger
课程 - 从长远来看,您会发现它更有用。在这种情况下,您可能意味着println
而不是printf
。 String
课程采用contains
方法 - 比indexOf
更直观。