このプログラムを組んでいますが、こうすると「OK」と出力されたいのですが、「NG」と出力されます。
何故でしょうか?
入力
abc
java
1import java.util.*; 2 3public class Main { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 String a = sc.nextLine(); 7 if(a == "abc"){ 8 System.out.println("OK"); 9 }else{ 10 System.out.println("NG"); 11 } 12 } 13}
#やってみたこと
恐らく標準入力が問題かと思います。
型はStringで合っていますでしょうか?
これをint型にし、
入力
1
java
1import java.util.*; 2 3public class Main { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 int a = sc.nextInt(); 7 if(a == 1){ 8 System.out.println("OK"); 9 }else{ 10 System.out.println("NG"); 11 } 12 } 13}
にしたら出力が「OK」になります。
と言うことはString型がおかしいのでは?と言う仮説を立てていますが、どう直したらいいのか
分かりません。
ずっと文字列はString型で勉強してきましたが、他に当てはまる型はありますでしょうか?
回答、宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/12 06:59