前提・実現したいこと
入力で配列の数と指定した数の大文字英字を入力し、
入力に「Y」の文字があった時に「Yes」と返すプログラムを書いています。
発生している問題・エラーメッセージ
現在のコードでは「Y」の文字があっても「No」と返されるため、
どのように修正すれば良いか分からず困っています。
5 D S Y M U No
該当のソースコード
Java
1import java.util.Arrays; 2import java.util.Scanner; 3 4public class Main { 5 6 public static void main(String[] args) { 7 Scanner scan = new Scanner(System.in); 8 int N = scan.nextInt(); 9 //array 10 String color = scan.next(); 11 String [] colors = new String[N]; 12 for(int c = 0; c<color.length(); c++){ 13 colors[c]=String.valueOf(color.charAt(c)); 14 } 15 16 if(Arrays.asList(colors).contains('Y')){ 17 System.out.println("Yes"); 18 }else{ 19 System.out.println("No"); 20 } 21 22 23 24 } 25 26} 27
###試したこと
ご回答をうけて、修正したコードを実行しました。
配列に入力した文字が格納されていないようです。
どのように修正すればいいかわかりません。
Java
1package javaalgorithm; 2import java.util.Arrays; 3import java.util.Scanner; 4 5public class Main { 6 7 public static void main(String[] args) { 8 Scanner scan = new Scanner(System.in); 9 int N = scan.nextInt(); 10 //array 11 String color = scan.next(); 12 String [] colors = new String[N]; 13 System.out.println("color=" + color); 14 15 for(int c = 0; c<color.length(); c++){ 16 colors[c]=String.valueOf(color.charAt(c)); 17 } 18 19 if(Arrays.asList(colors).contains('Y')){ 20 System.out.println("Yes"); 21 }else{ 22 System.out.println("No"); 23 } 24 25 } 26 27 28}
5 D S Y M U color=D No
補足情報(FW/ツールのバージョンなど)
Eclipse Java EE IDE for Web Developers.
Version: Neon.3 Release (4.6.3)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/03/07 12:33