前提・実現したいこと
以下のコードを実行したらmypack.Point@15db9742
と出力されます。
toStringメゾッドを実装すればちゃんと表示されるようになるそうですが、実装方法が分かりません。どうすればいいでしょうか
メッセージ
C:\Users\myPC\Desktop\object\kadai>javac Main.java
C:\Users\myPC\Desktop\object\kadai>java Main
mypack.Point@15db9742
該当のソースコード
Point.java
package mypack; public class Point { private int _x; private int _y; public Point(int x, int y) { _x = x; _y = y; } public void move(int x, int y){ _x = x; _y = y; } }
Main.java
import mypack.Point; public class Main { public static void main(String args[]) { Point p = new Point(20, 20); p.move(40, 10); System.out.println(p); } }
追記
申し訳ございません、言葉足らずでした。
これはPointクラスをmypackに所属するように変更して、コンパイルして提出しろという課題なのですが、それに関してはこちらで色んな方にご協力いただいてできました。
ただ、これは直線を引くコードな気がするのですが、実行してもmypack.Point@15db9742
と出力されて正しい出力ではない気がします。その事をコメントしたら「toStringメゾッドを実装すればできる」とのコメントをいただいたのですが、toStringの実装方法がよく分からなかったので質問させていただいた次第です。
「何を目指して書いたコードなのか」という部分に関しては、授業資料にどういう出力になるコードなのかという記述が一切なかった為に正直よく分かっていません。多分線を引くコードなんだろうなぁと思いながらやっています。
参考にしたサイトに関しては「tostringメソッド 実装方法 java」で検索して出てきたページを上位から10個程です。あとは授業資料を見返したのですが、toStringに関しての記述は以下の1つだけで何も分かりませんでした。
java Main
Mainロード→Point(他クラス)ロード→mainメソッド→コンストラクタ→moveメソッド→printlnメソッド→toStringメソッド
質問したい事としては、色んなサイトを見てtoStringメゾッドは
Java
1 @Override 2 public String toString() { 3 return [任意のコード]; 4 }
のように書くのだろうなというのは大体分かったのですが、[任意のコード]の部分にこの場合は何を入れたらいいのかが分かりません。
回答5件
あなたの回答
tips
プレビュー