標準入力から受け取った文字列が「すべて同じ文字」で構成されているかどうか判別をしたいと考えているのですが、
一文字目を取り出して、他の要素と比較しすべて同じかどうかを判別するプログラムを組みました。
[標準入力] XXXXXXY
[コード] import java.util.*; public class Main { public static void main(String[] args) throws Exception { // Your code here! //文字列の受け取り try(Scanner sc = new Scanner(System.in)){ String str = sc.nextLine(); //一文字ずつ配列に格納 String[] strs = str.split(""); for(String i : strs){ //配列の一文字目と各要素を比較 if(strs[0] == i){ System.out.println("OK"); }else{ System.out.println("NO"); } } } } }
[得られた出力結果] OK NO NO NO NO NO NO
'Y'に対して結果「NO」を表示するのはいいんですが、一文字目'X'と同じである他の要素に対しても「NO」を返してしまいます。
この原因はなんなんでしょうか?
if分では同じ文字ではなく識別値?のようなもので同じか違うかを判別してしまうのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/24 01:06
2018/10/24 01:07