プロが教えるわが家の防犯対策術!

現在Javaを学んでおり、課題をこなしている上で少し詰まってしまいましたので質問させて頂きます。

2回のSystem.out.printを1回で済むように、表示するクラスメソッドDisplayをMainの中に作成しろ、という物があるのですが、これはどの様にすればよいのでしょうか?
以下元のコードです。

class Exmain{
public static void main(String args[]){
NewList a = new NewEmployee("ahiru);
NormalList b = new NormalList("tako");

System.out.println(a.getName() + "さんのおやつは" + a.getOyatu());
System.out.println(b.getName() + "さんのおやつは" + b.getOyatu());
}
}

}

getメソッド等の必要な物は他クラスで実装されているものと考えてもらって結構です。
よろしくお願い致します。

質問者からの補足コメント

  • class NewList{
    private String name;
    NewEmployee(String name){
    this.name = name;
    }
    public String getName(){
    return this.name;
    }

    class Exmain{
    public static void main(String args[]){
    NewList a = new NewList("ahiru");
    NewList b = new NewList("tako");
    }
    public void Display(){
    ??????????????
    }
    }

    質問の意図を伝えにくいと判断し、コードを少し変更して質問致します。

      補足日時:2016/02/12 18:37
  • つらい・・・

    ここで、Displayメソッドを呼び出せば、参照変数a,bどちらでも表示できる物を作りたいのです。
    System.out.println(a.getName() + "さん")
    System.out.println(b.getName() + "さん") //これを一行で参照変数の指定のみで実装したい

    この場合インスタンスの作成はDisplayメソッドで行うべきなのでしょうか?
    そこの指定はございませんでしたので…。 最初に投稿したコードは無視して頂いて構いません。

    要するに、表示用のメソッドを作成したいのです。

      補足日時:2016/02/12 18:42
  • 何度もすみません。補足後のコードはこれです。

    class NewList{
    private String name;
    NewList(String name){
    this.name = name;
    }
    public String getName(){
    return this.name;
    }

    class Exmain{
    public static void main(String args[]){
    NewList a = new NewList("ahiru");
    NewList b = new NewList("tako");
    }
    public void Display(){
    ??????????????
    }
    }

      補足日時:2016/02/12 18:43

A 回答 (5件)

>Displayメソッドを呼び出せば、


>参照変数a,bどちらでも表示できる物を作りたいのです。
>System.out.println(a.getName() + "さん")
>System.out.println(b.getName() + "さん")
>//これを一行で参照変数の指定のみで実装したい

う~ん、何度読んでもどう表示すべきかわかりません。

Displayメソッドが表示するのは、1行? それとも2行?

>この場合インスタンスの作成はDisplayメソッドで
>行うべきなのでしょうか

べき論ではなくて、そうするのが処理として適切であるか
どうかなんですが、これだけでは勿論わかりません。

メソッドの中で、NewListを作ったら毎回同じ名が出力されますが
それで良いのですか?
    • good
    • 0

多分


static void Display(NewList a)
を作れってことじゃないかなぁ.
    • good
    • 0

>static public String display(NewList a, NewList b) {


>return a.getName() + "さんのおやつは" + a.getOyatu() * "\n" +
>a.getName() + "さんのおやつは" + a.getOyatu() + "\n";
>}

訂正。

static public String display(NewList a, NewList b) {
return a.getName() + "さんのおやつは" + a.getOyatu() * "\n" +
b.getName() + "さんのおやつは" + b.getOyatu() + "\n";
}
    • good
    • 0

>2回のSystem.out.printを1回で済むように、


>表示するクラスメソッドDisplayをMainの中に作成しろ、

どういう意味だかよく分かりませんが、System.out.print に渡す文字列を
作れってこと?

static public String display(NewList a, NewList b) {
return a.getName() + "さんのおやつは" + a.getOyatu() * "\n" +
a.getName() + "さんのおやつは" + a.getOyatu() + "\n";
}
    • good
    • 0
この回答へのお礼

それです! ありがとうございました

お礼日時:2016/02/12 22:31

「表示するクラスメソッドDisplayをMainの中に作成しろ」というのは


今あるクラスとは別に Main というクラスを作り, そのクラスメソッドとして Displayを作成する
って意味なんだろうか? そして, NewList やら NewEmployee やら NormalList とかいう謎のクラスがあるんだが, こいつらはいったいどのような関係にあるんだろうか?

あ,
NewList a = new NewEmployee("ahiru);
のところでダブルクォートが閉じてないや.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!