亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在VIJOS上用Java實現算法出現的問題

在VIJOS上用Java實現算法出現的問題

慕無忌1623718 2019-03-01 11:09:47
最后程序編譯出現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); } } } }
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 525 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號