以下のようにプログラムを組み、コンパイルしたところ、intをbooleanに変換できません。というエラーメッセージがででしまいました。どのように直せばよいでしょうか。教えてください。よろしくお願いします。
エラーの内容を省略せず全部質問文に掲載してください。
primeメソッドはどのような定義でしょうか?
> prime(x1)
この関数(prime)はどこで定義していますか?
関数の戻り値が intなんでしょう。
エラーの内容を省略せずに載せると
不適合な型:intをbooleanに変換できません。
boolean a1 = prime(x1);
入力するのが面倒だったので、エラーメッセージと箇所(プログラム内に記載)で端折ってしまいました。申し訳ありませんでした。
primeについては ・・・以下省略 の部分で定義しますが、素数ならば"True"と表示し、そうでなければ"False"と表示するプログラムです。(すみません。間違えていました。修正します。)それ以前に } で仕切ってあるので、入力する必要はないだろうと思い、省略させて頂いております。
> それ以前に } で仕切ってあるので、入力する必要はないだろうと思い
いえ、この返り値の型がポイントとなりますので、わからないとそれ以上進まないです。
なるほど。分かりました。
以下省略の部分も示させて頂きますので、ご確認の程宜しくお願いします。
質問は編集できますので。
あと、コードはマークダウンのcode機能を利用してご提示ください
遅くなり、申し訳ありません。突然wifiの接続不良により、インターネットに繋がらなくなっていました。その間、自分でやり直したところ、今度は、a1がbooleanで指定しているのにも関わらず、returnのところでintになっているため、エラーが出ます。どのように修正すればよいか教えてください。
原因がそこまでわかっているのであれば、あとは自明ではないでしょうか。int型とlong型などであれば、暗黙での型変換が機能しますが、booleanは暗黙では型変換できません。検索ワード「java int boolean 変換」などで検索してみてください。
コードはマークダウンのcode機能を利用してご提示ください
とりあえず prime メソッドの戻り値の型が int になってる (どこのことだか分かりますか?) のを boolean にすればコンパイルは通ると思います。
> public static boolean prime(int x1){
ご回答ありがとうございます。
修正し、実行してみたところ、うまくいきました。
ありがとうございました。
回答3件
あなたの回答
tips
プレビュー