質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

Q&A

解決済

3回答

6287閲覧

java エラーを解決したい。 intをbooleanに変換できません。

Suits

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

0グッド

2クリップ

投稿2020/06/14 09:47

編集2020/06/15 02:13

以下のようにプログラムを組み、コンパイルしたところ、intをbooleanに変換できません。というエラーメッセージがででしまいました。どのように直せばよいでしょうか。教えてください。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2020/06/14 09:49

エラーの内容を省略せず全部質問文に掲載してください。
maisumakun

2020/06/14 09:52

primeメソッドはどのような定義でしょうか?
pepperleaf

2020/06/14 09:54

> prime(x1) この関数(prime)はどこで定義していますか? 関数の戻り値が intなんでしょう。
Suits

2020/06/14 11:11 編集

エラーの内容を省略せずに載せると 不適合な型:intをbooleanに変換できません。 boolean a1 = prime(x1); 入力するのが面倒だったので、エラーメッセージと箇所(プログラム内に記載)で端折ってしまいました。申し訳ありませんでした。 primeについては ・・・以下省略 の部分で定義しますが、素数ならば"True"と表示し、そうでなければ"False"と表示するプログラムです。(すみません。間違えていました。修正します。)それ以前に } で仕切ってあるので、入力する必要はないだろうと思い、省略させて頂いております。
maisumakun

2020/06/14 11:25

> それ以前に } で仕切ってあるので、入力する必要はないだろうと思い いえ、この返り値の型がポイントとなりますので、わからないとそれ以上進まないです。
Suits

2020/06/14 11:28

なるほど。分かりました。 以下省略の部分も示させて頂きますので、ご確認の程宜しくお願いします。
m.ts10806

2020/06/14 11:31

質問は編集できますので。 あと、コードはマークダウンのcode機能を利用してご提示ください
Suits

2020/06/14 15:40

遅くなり、申し訳ありません。突然wifiの接続不良により、インターネットに繋がらなくなっていました。その間、自分でやり直したところ、今度は、a1がbooleanで指定しているのにも関わらず、returnのところでintになっているため、エラーが出ます。どのように修正すればよいか教えてください。
KoichiSugiyama

2020/06/14 17:49

原因がそこまでわかっているのであれば、あとは自明ではないでしょうか。int型とlong型などであれば、暗黙での型変換が機能しますが、booleanは暗黙では型変換できません。検索ワード「java int boolean 変換」などで検索してみてください。
m.ts10806

2020/06/14 21:25

コードはマークダウンのcode機能を利用してご提示ください
hoshi-takanori

2020/06/14 22:44

とりあえず prime メソッドの戻り値の型が int になってる (どこのことだか分かりますか?) のを boolean にすればコンパイルは通ると思います。
pepperleaf

2020/06/14 23:22

> public static boolean prime(int x1){
Suits

2020/06/15 02:08

ご回答ありがとうございます。 修正し、実行してみたところ、うまくいきました。 ありがとうございました。
guest

回答3

0

今回の問題と直接関係するかどうかはわかりませんが、Mathというクラスは、Java標準で存在するものですので、同名のクラスを自分で作るべきではありません。別な名前にしましょう。

投稿2020/06/14 11:25

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Suits

2020/06/14 11:29

なるほど。。。 そうなのですか。。。 初めて知りました。 ご指摘ありがとうございました。
guest

0

質問で使われている prime という関数の仕様が判らないのですが、
Prime(x)が、xが素数の時には0を、xが素数でない時には1以上の整数を返す関数だとすると

boolean a1 = prime(x1);

の部分を、

boolean a1; // boolean型の変数a1を宣言 a1 = prime(x1)==0;

とすれば良いです。

prime(x1)==0 という式は、prime(x1)の値が0ならTRUE、prime(x1)の値が0以外ならFALSEというboolean値になります。

投稿2020/06/14 10:05

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

ご指摘の通り、public static int prime(int x1){ を public static boolean prime(int x1){ に変えることで解決しました。
このことをご指摘いただきましたhoshi-takanori 様、解決方法をご教授頂きましたpepperleaf 様、その他、ご回答くださいました皆様ありがとうございました。
ベストアンサーを選択することが出来なかったため、自己解決ではありませんが、このような形とさせて頂きます。

投稿2020/06/15 02:17

Suits

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問