最后程序編譯出現RUNTIME ERROR【網站提示】Runtime Error 不通過:程序運行時錯誤(如數組越界、被零除、運算溢出、棧溢出、無效指針等)
【問題】想必有人做過vijos這道題吧?不太清楚本人程序哪里出現了這樣的問題?另本人還是小白,代碼暴力破解...歡迎愿意的大神提供給更優方案哈~
【以下為題目描述】
華華通過以下方式進行分析,首先將比賽每個球的勝負列成一張表,然后分別計算在11分制和21分制下,雙方的比賽結果(截至記錄末尾)。比賽規則和實際比賽規則相同, 在11分制下比分為10:11時還要繼續比賽,直到分數差距達到2分;同理21分制下比分為20:21的時候也還要繼續比賽。比如現在有這么一份記錄,(其中W表示華華獲得一分,L表示華華對手獲得一分):WWWWWWWWWWWWWWWWWWWWWWLW在11分制下,此時比賽的結果是華華第一局11比0獲勝,第二局11比0獲勝,正在進行第三局,當前比分1比1。而在21分制下,此時比賽結果是華華第一局21比0獲勝,正在進行第二局,比分2比1。如果一局比賽剛開始,則此時比分為0比0。你的程序就是要對于一系列比賽信息的輸入(WL形式),輸出正確的結果。格式
【輸入格式】
每個輸入文件包含若干行字符串(每行至多20個字母),字符串有大寫的W、L和E組成,也許中間有若干個空格。其中E表示比賽信息結束,程序應該忽略E之后的所有內容,E后面可能有干擾文字。輸出格式
輸出由兩部分組成,每部分有若干行,每一行對應一局比賽的比分(按比賽信息輸入順序)。其中第一部分是11分制下的結果,第二部分是21分制下的結果,兩部分之間由一個空行分隔。
【樣例輸入1】
WWWWWWWWWWWWWWWWWWWWWWLWE
【樣例輸出1】
11:011:01:1
21:02:1限制
各個測試點1s
【以下為本人代碼】
import java.util.Scanner;
public class Main {
public static void main(String[] args){
int i=0;
int j=0;
int a=0;
int b=0;
int num=0;
Scanner scanner=new Scanner(System.in);
String s1=scanner.nextLine();
String s2=scanner.nextLine();
String s=s1+s2;
s=s.replace(" ", "");
System.out.println(s);
char[] arr=s.toCharArray();
for(i=0;i<arr.length;i++){
if(arr[i]=='E'){
break;
}
num++;
}
char[] result=new char[num];
for(i=0;i<num;i++){
result[i]=arr[i];
}
for(j=0;j<num;j++){
if(result[j]=='W')
{a++;}
if(result[j]=='L')
{b++;}
if(result[j]=='\n')
{continue;}
if(a==11||b==11&&Math.abs(a-b)>2){
System.out.println(a+":"+b);
a=0;
b=0;
}
if(j==num-1){
System.out.println(a+":"+b);
a=0;
b=0;
}
}
System.out.println();
for(i=0;i<num;i++){
if(result[i]=='W')
{a++;}
if(result[i]=='L')
{b++;}
if(result[i]=='\n')
{continue;}
if(a==21||b==21&&Math.abs(a-b)>2){
System.out.println(a+":"+b);
a=0;
b=0;
}
if(i==num-1){
System.out.println(a+":"+b);
}
}
}
}
在VIJOS上用Java實現算法出現的問題
慕無忌1623718
2019-03-01 11:09:47