前提
javaでプログラムを作成していて条件分岐の考え方で困っています。
scheduleAにはAのイベントの開催日が入っていて
scheduleBにはBのイベントの開催日が入っています。
scheduleAの予定とscheduleBの予定を比較し、
どちらもイベントがある場合にはA→Bの順番で交互に参加したいです。
実現したいこと
if文を使った条件分岐の中でAとBの条件両方に当てはまるとき("ここです")の部分に
"A"か"B"を交互に出力したいです。
発生している問題・エラーメッセージ
特になし
該当のソースコード
java
Scanner sc = new Scanner(System.in); int liveA = sc.nextInt(); ArrayList<Integer> scheduleA = new ArrayList<>(); for (int i = 0; i < liveA; i++) { scheduleA.add(sc.nextInt()); } int liveB = sc.nextInt(); ArrayList<Integer> scheduleB = new ArrayList<>(); for (int i = 0; i < liveB; i++) { scheduleB.add(sc.nextInt()); } for (int i = 1; i < 32; i++){ if (scheduleA.contains(i)){ if (scheduleB.contains(i)){ System.out.println("ここです"); }else{ System.out.println("A"); } }else if (scheduleB.contains(i)){ System.out.println("B"); }else{ System.out.println("x"); } }
試したこと
いろいろ調べまわったのですが検索条件が悪いのかヒットせず、、、
補足情報(FW/ツールのバージョンなど)
scheduleAにはAのイベントの開催日が入っていて
scheduleBにはBのイベントの開催日が入っています。
記載いただいたコードの表示が崩れてしまっています。 markdown形式で書くと見やすくなり、回答を得られやすくなります。 「」と「
」の間にコードを記載するとコードブロックとなり、見やすくなります。 ▼対応しているMarkdownの記法を知りたい - teratail help https://teratail.com/help#about-markdown
→対応いたしましたが、直っていますでしょうか?
求める動作を確認したいのですけども、scheduleA に 1, 3, 5、scheduleB に 2, 3, 5 と入っていたら、 A B AかB x AかB と表示したい、ということでしょうか? 現状のコードではどういう結果になるのですか?
→おっしゃる通りです。現状ですと"A"か"B"どちらかを記載したいところが"ここです"と表示されます。

回答1件
あなたの回答
tips
プレビュー