Javaのエラーを解決したのですが、解決できた理由を確認したい 【Java基礎 chapter7-10】
Q&A
以下の画像のように、文字列の字数が
偶数→「文字列は偶数です」
奇数→「文字列は奇数です」
となるように出力したいのですが、コードの「if」と「else if」の行でエラーが発生してしまいました。
エラーの内容は両行とも「演算子 * は引数の型 String, int で未定義です」とのだったのですが、if文の直前の
「String text = scanner.next();」を
「int text = scanner.nextInt();」に
変えたところ、エラーが解決しました。
これは、「String text = scanner.next();」だと「if (text * 2 == 0)」を実行する際、「文章にかけ算をする」という状態になってしまうため、計算することができず、エラーになってしまっていた。という認識で合っているでしょうか?
↓エラー発生中のコード
package chapter7;
import java.util.Scanner;
public class StringCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner (System.in);
System.out.println("文字列を入力してください");
String text = scanner.next();
if (text * 2 == 0) { ←エラー
System.out.println("文字列は偶数です");
} else if (text * 2 != 0) { ←エラー
System.out.println("文字列は奇数です");
}
}
}
↓エラー解決済みのコード
package chapter7;
import java.util.Scanner;
public class StringCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner (System.in);
System.out.println("文字列を入力してください");
int text = scanner.nextInt();
if (text * 2 == 0) {
System.out.println("文字列は偶数です");
} else if (text * 2 != 0) {
System.out.println("文字列は奇数です");
}
}
}
0