する質問をすることでしか得られない、回答やアドバイスがある。円周率に3.14が代入されるようにするにはどうすればよいですか?attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。件sort評価が高い順sort新着順sort古い順link+2変更不可能(immutable)なオブジェクトとして作成する場合は、コンストラクタ以外で半径や円周率を設定することができません。immutableなオブジェクトの利点や欠点は長くなるので省きますが、そのようなオブジェクトを作るクラスの設計としては、コンストラクタで全て設定することはなんら不思議ではない、むしろ、そうせざるを得ないことです。設計としては、円クラスを用意して、そのクラスから円オブジェクトを作成し、その性質(半径以外にも、円周の長さや面積など)を取り出すというものだと思います。この方法はオブジェクト指向で設計する場合は何ら不思議なものではありません。オブジェクト指向とは、あるデータのまとまりを一つにまとめた一つのオブジェクトにすることで、そこからプロパティを得たり、関連するオブジェクトを生成する、何らかの動作を起こすものです。二つ以上の常に揃って連携するデータをなんらかのクラスでまとめて扱っていない場合、オブジェクト指向の考え方で作られていない設計と言えます。必要であるかどうかの問題ではありません。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。commentコメント投稿link+1何らかの課題と思われるので、お題の「円」ではなくRPGなどのキャラクターを例に説明します。}}このようにしてインスタンス生成はできることはできますが、hpが0の状態で生成されることになり、いきなり倒れます。インスタンス生成後にフィールドの値を設定する必要が生じるので、使う側がその初期化を忘れると意図しない動作の原因になります。}}hpの初期値を引数を持ったコンストラクタを作成すると、引数なしのコンストラクタが(このままだと)存在しない状態になります。引数なしのコンストラクタを使おうとするとコンパイルエラーとなるため、ミスに早い段階で気づくことができます。Charaクラスを使うためにhpの初期値を入力することを強制されるため、意図しない状態でのCharaインスタンスの運用を減らすことができます。前の方の回答で不変オブジェクトの話が出ていますがそれ関係で、クラスのフィールドの中で「一度設定したら変更したくない」というものも設定する必要がある場合があります。Charaのhpは変動するのが前提なので例としては適しませんが、仮にhpをfinalにしたとします。}}これでも使えることは使えるのですが、ここで「初期値入力がない場合にhpは5としておきたい」という要求があったとします。5;のようにしてしまうと、今度はコンストラクタでの値の設定ができなくなってしまいます(コンパイルエラー)。そのため、引数なしのコンストラクタを用意し、あたかも初期値に5を与えてコンストラクタを使用したようにできます。}}Integerは「整数」という意味です。doubleにしたいならDouble.parseDouble()を使ってください。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。16:20円周率を入力しなかった場合、piには定数PIを入れればいいだけの話です。あと、コンストラクタはコンストラクタで場所をまとめましょう。円周率を入力しなかった場合、piには定数PIを入れればいいだけの話です。あと、コンストラクタはコンストラクタで場所をまとめましょう。キャンセル完了するlink0コンストラクタどころか専用クラスを定義する必要性すらありません。普通にエントリポイントのためのクラスがひとつあれば実現できます。課題の情報が欠けています。そもそも円周率を都度都度入力する必要性がわかりません。定数を用意しておくならば、なおさら用途不明です。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。commentコメント投稿link0そもそもクラスを作る必要がない、という点では完全に同意です。その上で、もし無理矢理クラスを作るなら、以下の点で違いはあると思います。コンストラクタがない正確には、引数のないコンストラクタを用いる場合。半径を設定する前に円周が取得されようとした場合どうする?コンストラクタがある正確には、適宜引数を取るコンストラクタを用いる場合。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。・一度作成したクラスの(コンストラクタで指定した)属性を変更させたくない場合です。今回の例で言えば、円の半径と円周率は、作ったが最後固定される、というのを保証するための方法の一つです。※ゲッターしかない属性に対して初期値を与えるためにコンストラクタを使うただし、これが課題だとすると、そもそもJavaのコンストラクタなのですから、数値型でパラメータを定義すれば、数値以外を受け取る、という事自体があり得ません。表示するも何もない(そもそもコンパイルが通らない)です。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。【Java】Enterキーを押されるまで待機させたい解決済ループ文を使った足し算がうまくいきません。頂いたご意見への回答は行っておりません。