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

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

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

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Java

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

Q&A

0回答

1284閲覧

javaで長方形クラスを実装する方法

icecleam

総合スコア46

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Java

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

1グッド

0クリップ

投稿2020/10/05 15:05

編集2020/10/06 11:11

以下のコードで、下記の現状のコードのコメントような仕様のメソッドを持つ長方形クラスRectを実装して「得たい実行結果」のような実行結果を得たいのですが、以下のコードだと「現状の実行結果」のようになってしまいます。
コメントを頼りに、初心者なりに自分のできるところまで書いたのですが、どうしても思うように動いてくれなくて困っています。。

union、isInside、printlnの3メソッドのどこをどのように修正すれば良いか、教えていただければと思います。
申し訳ありませんが、よろしくお願いします。。

x1,y1,x2,y2はそれぞれ2つの頂点( x1, y1 )と( x2, y2 )を表す4変数とします。

ichijava👍を押しています

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

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

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

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

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

gentaro

2020/10/05 15:36

完全に宿題の丸投げにしか見えない。 union()はフィールドを0初期化しただけの新しいRectインスタンスを返しているだけだし、println()は常に[1, 1; 5, 6]としか出力しない実装になってる。 これで「コメント通りに実装したつもりなのですが」って言える方がどう考えてもおかしい。 本当に真剣に取り組んだ結果なのだとしたら、まず日本語で書かれた問題文を読む、という事ができていないので、プログラミング以前の問題。 真面目に答えるなら「小学校の勉強から復習しよう」という回答になっちゃいますが…。
gentaro

2020/10/05 15:37

ひょっとして釣りアカウントでしょうか?
icecleam

2020/10/05 15:46 編集

すみません、釣りアカウントではありません。 確かに、この内容だと「コメント通りに実装」というのはおかしいですね。。 申し訳ありません。 コメント通りに実装したつもりなのですが →コメントを頼りに、初心者なりに自分のできるところまで書いたのですが と修正しておきます。 java初心者なもので、全然できていないかも知れませんが、自分なりに色々調べてここまで書いたものだったのですが、丸投げのように見えてしまい、不快な思いをさせてしまい申し訳ありませんでした。。
gentaro

2020/10/05 15:58

じゃあ質問を編集し、まずunion()とprintln()メソッドを実装する上で、具体的にどこがわからないのかをちゃんと言語化してください。 これらのメソッドで実装が必要な内容は「日本語で」書かれていますので、「日本語で」のその実現手順を「あなたの言葉で」書けるはずです。ここまではJavaの知識とは無関係なので「Java初心者だからわからない」という事がありえません。 その中で、あなたがJavaのプログラムとして完成される上でわからない「技術的な課題」を説明しましょう。
icecleam

2020/10/05 16:08

わからない箇所は以下になります。 質問以前の問題でお手数をおかけしてしまい申し訳ありません。 unionを実装する際に 引数として与えられた長方形と自身の長方形とを含む最小の長方形を新たに生成して返却する →「最小の長方形を新たに生成」の部分をどのようにかけば良いのかわからないです。 printlnを実装する際に、出力する際にどのように値を受け取り、それをどのような形式で出力するのかがわからないです。
gentaro

2020/10/05 16:19

あなたが知りたいのは本当に「書き方」なんですか? 「与えられた長方形と自身の長方形とを含む最小の長方形」の求め方はちゃんとわかっているんですか? 日本語でその手順を説明できますか? それがわかっていれば、どんな教材を使っているのであれ「書き方」なんてものはこの問題に取り組むまでに確実に学ぶはずで、「書き方」がわからない、という質問が出ること自体がどう考えてもおかしいんですよ。 なので、これは単に「問題文の意味が理解できていない」というレベルの話でしかなく、スクールに通うかマンツーマンで指導できるメンターを雇うなどしないと、根本的な解決に至らないと思ってますが。
gentaro

2020/10/05 16:21

というか、まず「書き方」なんてもんは教材を遡って復習してくれ、という話でしかなく、本当に書き方がわからないのだとしたら、この問題に取り組むまでに学ぶべきことを色々すっ飛ばしすぎです。
icecleam

2020/10/05 16:28

すみません、求め方も分かっていないです。。 書き方という表現は確かに、そのように受け取られても仕方ありませんね…いろいろと申し訳ありません…
dodox86

2020/10/05 18:32

編集後の質問を読んで: > 「最小の長方形を新たに生成」の部分をどのように求めればよいか、分からないです。 (※gentaroさんがコメントに書かれている通りだと思いますが)まずは自分の頭を使って紙とペン、つまり手で問題を解けないとプログラミングできないです。 「2つの矩形 重なり」などと検索するヒットすると思いますが、検索するまでもなく、例えば2つの矩形(長方形)の横方向の辺を見て、開始X座標から終了X座標のある区間が重なっていたら、その2つの矩形は重なっている可能性がある、と言うことです。実際に紙に描いてみれば分かるはずです。 ところでRectMain.java中の Rect r1 = new Rect(1, 1, 4, 4);のコードですが、これは正しいのでしょうか。(1,4), (1,4)で、同じ1つの頂点を指しています。
icecleam

2020/10/05 22:01

はい。。ご指摘ありがとうございます。 質問をするまでの考えが足りていなかったことは良くわかりました。。 >ところでRectMain.java中の Rect r1 = new Rect(1, 1, 4, 4);のコードです>が、これは正しいのでしょうか。(1,4), (1,4)で、同じ1つの頂点を指してい>ます。 RectMain.javaは修正不可ですので、これであっているはずです。
swordone

2020/10/06 01:53

> RectMain.javaは修正不可ですので、これであっているはずです。 論理的におかしなこと言ってるのわかってます? そもそもnew Rect(1, 1, 4, 4)が何を意味しているのか確認して、それを正しく表現するべくRectを書くべきなのですよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問