前提・実現したいこと
以下のAtCoderの20210911のA問題を解いております。
https://atcoder.jp/contests/abc218/tasks/abc218_a
REとなったコードの何が問題なのかわからないためご指摘いただきたいです。
(他の方のコードをみて、エラーとならない書き方は分かりました)
発生している問題・エラーメッセージ
RE(Runtime Error)判定がでる ‘プログラムの実行中にエラーが発生しました。コンパイル時に検知できなかったエラーがあります.スタックオーバーフロー、ゼロ除算などが原因です.’
該当のソースコード
java
1import java.util.Scanner; 2 3public class Main{ 4 public static void main(String[] args){ 5 char[] s = new char[7]; 6 7 Scanner scan = new Scanner(System.in); 8 int n = scan.nextInt(); 9 10//以下のfor文でREとなる 11 for(int i=0; i<7; i++){ 12 s[i] = scan.next().charAt(0); 13 } 14 15 if(s[n-1] == 'o'){ 16 System.out.println("Yes"); 17 }else{ 18 System.out.println("No"); 19 } 20 } 21}
試したこと
for文の部分を
char[] s = scan.next().toCharArray();
とするとエラーが出ません。
補足情報(FW/ツールのバージョンなど)
macOS Catalina
Visual Studio Code 1.60.1
ソースコードは、サブミットしたときの全体を示さないと読んだ者に問題点が分かりませんよ。そもそも使っているfor文とやらも見当たりません。
「該当のソースコード」が全体のコードとなります。
また、for文の該当部分は上記「該当のソースコード」の
-----------------
//以下のfor文でREとなる
for(int i=0; i<7; i++){
s[i] = scan.next().charAt(0);
}
-----------------
の部分です。書き方まちがっていましたらご指摘ください。
ご提示のコードですが、コンパイル通りませんよ。まず、ご自身の環境でコンパイル成功~サンプルテストデータで実行してOKなのが前提だと思います。
失礼しました、コードを修正いたしました。
コードテストで0がでることを確認いたしました。
参考AP2 - 付録2.提出結果の見方
https://atcoder.jp/contests/apg4b/tasks/APG4b_al?lang=ja
コードを書いていきなり実行していませんか。自分の考えるとおり動作しているか、デバッグしていないように見えます。当然ですが、コンパイルが通れば要望通り動くものでもありません。回答は既にいただいているので、以上コメントのみとさせていただきます。
貴重な時間をさいてご回答いただきましてありがとうございました。
大変感謝いたします。
回答1件
あなたの回答
tips
プレビュー