前提・実現したいこと
Java初心者です。
2点が等しいかどうかを判定するメソッドと、X-Y平面上での2点間の傾きを求めるメソッドと、2点間の距離を求めるメソッドをMyPointクラスに追加したいのですが、MyPointTestクラスに書き込んでならできるんですが、MyPointクラスに追加するとなると、objとobj2が等しいかどうかの判定やobjのxだけを引っ張ってくるなどをするためのコードの書き方がわかりません。
該当のソースコード
Java
1//MyPointクラスの定義 2class MyPoint{ 3 //フィールド(インスタンス変数) 4 int x; 5 int y; 6 int z; 7 //メソッド(座標を表示) 8 void display() { 9 System.out.println("(x,y,z) =" + " (" +x + ","+ y + "," + z +")"); 10 } 11 //メソッド(座標を設定) 12 void setData(int a,int b,int c) { 13 x = a; 14 y = b; 15 z = c; 16 } 17 //メソッド(x座標を取得) 18 int getX() { 19 return x; 20 } 21 //メソッド(y座標を取得) 22 int getY() { 23 return y; 24 } 25 //メソッド(z座標を取得) 26 int getZ() { 27 return z; 28 } 29 //メソッド(2点が等しいかどうか判定する) 30 void comparePoints() { 31 32 } 33} 34 //MyPointTestクラスの定義 35 class MyPointTest{ 36 //メインメソッド 37 public static void main(String[] args) { 38 //MyPointインスタンスの生成 39 MyPoint obj = new MyPoint(); 40 MyPoint obj2 = new MyPoint(); 41 //メソッドの呼出し 42 System.out.println("Set(5,10,15)"); 43 obj.setData(5,10,15); 44 obj.display(); 45 System.out.println("Set(7,64,9)"); 46 obj2.setData(7,64,9); 47 System.out.println("Return x :" + obj2.getX()); 48 System.out.println("Return y :" + obj2.getY()); 49 System.out.println("Return z :" + obj2.getZ()); 50 51 } 52 } 53 54Javaのソースコード
> クラスをまたいで変数を評価する方法がわかりません。
クラスのインスタンスを作り、そのメソッドに引数として渡す。
コードはマークダウンのcodeにてご提示ください
> 2点が等しいかどうかを判定するメソッド
につきましては、(文字列の比較に良く使われる) "equals()" というメソッドの override が推奨されると思います。
具体的にどのようなコードをかけばうまくいくでしょうか
え?
インスタンスもメソッドも引数もわからないなら調べたら?
つまり、今提示されてるコードもいまいち理解できてないと
>え?
インスタンスもメソッドも引数もわからないなら調べたら?
Javaを学習し始めて日が浅いので理解が深くないですが自分でも調べているつもりです。
> つまり、今提示されてるコードもいまいち理解できてないと
"equals()" というメソッドは知っているのですが、クラスをまたいでいるobjとobj2をどのような書いたら等しいかどうかを評価できるのかが調べてもよくわからなかったのでここに質問させてもらってます。
> コードはマークダウンのcodeにてご提示ください
ここで質問するのが初めてなので知りませんでした。以後気を付けます
> Javaを学習し始めて日が浅いので理解が深くないですが自分でも調べているつもりです。
調べてすぐわからないほど難しいものじゃないし、入門書をちゃんと読んだなら必ず書いてあるんだけど。
手を抜かず入門書を買って一からやったら?
飛び級できるほど優秀ってわけじゃないんでしょ?
質問は編集できるので今対応願います。いつくるか分からない次に回してたら忘れます
> 質問は編集できるので今対応願います。いつくるか分からない次に回してたら忘れます
勉強になりました。ありがとうございます。
マークダウン記法ですが、より正確には```プログラミング言語名 ~```のように括ります。
```Java
Javaのソースコード
```
のように使います。"//MyPointクラスの定義"が消えていますね。
>マークダウン記法ですが、より正確には```プログラミング言語名 ~```のように括ります。
```Java
Javaのソースコード
```
のように使います。"//MyPointクラスの定義"が消えていますね。
丁寧に教えていただきありがとうございます。
余談ですが、「マークダウン記法」と言っても方言、亜種があり、```(プログラミング言語) の書き方はteratail内でしか通用しない場合があります。ですが大体同じなので知っておくと得です。また、プログラミング言語の部分も全てのプログラミング言語に対応している訳ではありません。
>余談ですが、「マークダウン記法」と言っても方言、亜種があり、```(プログラミング言語) の書き方はteratail内でしか通用しない場合があります。ですが大体同じなので知っておくと得です。また、プログラミング言語の部分も全てのプログラミング言語に対応している訳ではありません。
詳しく教えていただきありがとうございます。
dodox86さん
いつからか「シンタックスハイライト対応してない文字列はそのままタイトルに出る」ようになりました。
こういうまとめ投稿もありましたね。
https://teratail.com/questions/7119
eak_aさん
``` ~~はあくまで「プログラムのコード、エラー」を提示するためのものでマークダウンとはそもそも「Web上の文章表現の方法」です。
見出しとか太字とかリンクとか、そこはヘルプ見てください。
回答1件
あなたの回答
tips
プレビュー