好的,所以我已经在这个程序上工作了一个半星期,我觉得我真的很接近但一直在碰壁。我为此看了很多次,我承认我不太擅长使用 java 的常见问题解答系统。我正在尝试拉入一个字符串,该字符串包含表单中的文本,R S
player1 为空格,player2 移动。在此之后,我尝试使用charAt(index)
并且每次都得到一个 AIOOBE(它找不到任何位置)。我已经尝试在扫描仪中推进几行,只是为了得到一个可以工作的行,但我做不到。似乎它抓住了前 2 行int
,即玩的游戏和每局的手数。
import java.util.*;
import java.lang.*;
import java.io.*;
public class rPS{
public static void main(String ... args) throws IOException{
int count = 0;
File myFile = new File("a.txt");
Scanner fin = new Scanner(myFile);
int games = fin.nextInt();
for(int i = 0; i<games; i++){
int rounds = fin.nextInt();
int tie = 0;
int p1win = 0;
int p2win = 0;
for(int j=0; j<rounds; j++){
String line = fin.nextLine();
char p1 = line.charAt(0);
char p2 = line.charAt(2);
if (p1 == p2)
tie = tie + 1;
else if (p1 == 'R'){
if (p2 == 'S')
p1win = p1win + 1;
else if (p2 == 'P')
p2win = p2win + 1;
}else if (p1 == 'P'){
if (p2 == 'S')
p2win = p2win + 1;
else if (p2 == 'R')
p1win = p1win + 1;
}else if (p1 == 'S'){
if (p2 == 'P')
p1win = p1win + 1;
else if (p2 == 'R')
p2win = p2win + 1;
}
}
if(p1win > p2win)
System.out.println("Player 1");
else if(p2win > p1win)
System.out.println("Player 2");
else
System.out.println("Tie!");
}
}
}