在Java中如何将两个输出作为函数的输入
我正在在Java中如何将两个输出作为函数的输入,java,Java,我正在Java中创建一个程序,它读取文本文件并显示各种输出,例如total played和total won 三个输出中的两个我必须完美地显示工作,即总播放次数和总赢得次数,但我不能让最后一个工作,即返回玩家,它需要总播放次数和总赢得次数来产生输出 我得到的是: List<Double> RP = data.RegexCheck(fileData.toString(), "(Return Players: £) (totalPlayed/totalWon)*100"
Java
中创建一个程序,它读取文本文件并显示各种输出,例如total played
和total won
三个输出中的两个我必须完美地显示工作,即总播放次数
和总赢得次数
,但我不能让最后一个工作,即返回玩家
,它需要总播放次数
和总赢得次数
来产生输出
我得到的是:
List<Double> RP = data.RegexCheck(fileData.toString(),
"(Return Players: £) (totalPlayed/totalWon)*100",2);
//ReturnPlayers
double ReturnPlayers = 0;
for(double d : RP){
ReturnPlayers+= d;
}
而输出的编写方式是
System.out.println("The total times played is: " + totalPlayed);
System.out.println("The total times won is: " + totalWon);
System.out.println("Return Players value is: " + ReturnPlayers);
编辑#2
它正在工作,但最终输出RP
没有显示任何内容,只有0.0
,我觉得它应该显示一个数字,因为它需要两个输出,分别显示数字,1240
和320
,然后乘以100,应该显示387.5
编辑#3
myFile.txt
的一个例子是
Start Game
Game number: 1
Player: lose
End Game
Start Game
Game number: 2
Player: lose
End Game
Start Game
Game number: 3
Player: lose
End Game
Start Game
Game number: 4
Player: won
End Game
Start Game
Game number: 5
Player: won
End Game
Start Game
Game number: 6
Player: lose
End Game
Start Game
Game number: 7
Player: won
End Game
Start Game
Game number: 8
Player: won
End Game
Java代码
try(BufferedReader br = new BufferedReader(new FileReader("myFile.txt"))){
String line = null;
int wonCounter = 0;
int lostCounter = 0;
while((line=br.readLine()) != null){
if(line.contains("Player")){
if(line.contains("won")){
wonCounter++;
}else{
lostCounter++;
}
}
}
System.out.println("The total times played is: " + (wonCounter+lostCounter));
System.out.println("The total times won is: " + wonCounter);
System.out.println("Return Players value is: " + (wonCounter+lostCounter)*100.0/wonCounter);
} catch (IOException e) {
e.printStackTrace();
}
输出:
The total times played is: 8
The total times won is: 4
Return Players value is: 200.0
我觉得这里缺少osme信息。什么是
RegexCheck
执行和返回?顺便说一句:RegexCheck
根据java惯例不是一个方法名。您能再显示一些代码吗?你在哪里读文件,在哪里写输出?为什么它不工作?您是否收到异常(以及哪一个)?@Janar我已经编辑了问题请尝试将RP打印到控制台-列表是否包含值?
The total times played is: 8
The total times won is: 4
Return Players value is: 200.0