JavaプログラミングでCustomerManagerクラスを作成する方法

このQ&Aのポイント
  • JavaプログラミングでCustomerManagerクラスを作成し、特定のフィールドとメソッドを追加する方法について説明します。
  • CustomerManagerクラスには、他のクラスからアクセスできない長さ5のCustomerCardの配列と整数型のindexフィールドを追加します。
  • そして、addCustomerCardメソッドとprintAllInfoメソッドを作成し、それぞれ引数と動作を定義します。最後に、mainメソッドを修正して、指定された情報を登録し、全ての情報を表示します。
回答を見る
  • ベストアンサー

javaについてです。

このプログラミング全部を教えて下さい。 staticでないものでお願いします。 ●CustomerManagerクラスに以下のフィールドを作成する  ・他のクラスからアクセスできない長さ5のCustomerCardの配列  ・整数型フィールド(名称:index、初期値0) ●CustomerManagerクラスに以下のメソッドを作成する   ・メソッド1  メソッド名:addCustomerCard  引数1:整数型  引数2:文字列型  動作:    ・配列のindex番目にCustomerCardインスタンスを作成    ・作ったインスタンスに引数の2つを設定    ・indexを1増やす ・メソッド2  メソッド名:printAllInfo  引数なし  動作:   配列にいれられた全てのCustomerCardの情報を表示する ●mainメソッドを以下のように修正する  addCustomerCardメソッドを使って以下の情報を登録する     ID = 1 , 名前 = "山田一郎"   ID = 2 , 名前 = "鈴木太郎"   ID = 3 , 名前 = "田中次郎"  printAllInfoメソッドを使って登録された全ての情報を表示する 以上よろしくお願い致します。

noname#157425
noname#157425
  • Java
  • 回答数4
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

全文ありがとうございます。 ただ実行するとこういったメッセージが出ました。 exercise11.CustomerCard@19189e1 exercise11.CustomerCard@1f33675 exercise11.CustomerCard@7c6768 これはどういうことなんでしょうか? -----へのレスポンス 全部コピペしましたか? 最後の toString が抜けているような気がしますが。

その他の回答 (3)

  • wormhole
  • ベストアンサー率28% (1619/5654)
回答No.3

その問題 http://okwave.jp/qa/q7575128.html の問題の延長ではないんでしょうか? そのプログラムをベースにしてつくれって事だと思うんですが。

noname#157425
質問者

補足

その延長になります。すいません。。。

回答No.2

これでOK? public class CustomerManagerTest { public static void main(String[] args) { CustomerManager manager = new CustomerManager(); manager.addCustomerCard(1, "山田一郎"); manager.addCustomerCard(2, "鈴木太郎"); manager.addCustomerCard(3, "田中次郎"); manager.printAllInfo(); } } class CustomerManager { private CustomerCard[] customers = new CustomerCard[5]; private int index = 0; public void addCustomerCard(int id, String name) { customers[index] = new CustomerCard(id, name); index++; } public void printAllInfo() { for( CustomerCard customer : customers ) { if( customer != null ) System.out.println(customer); } } } class CustomerCard { private int id; private String name; public CustomerCard(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public String getName() { return name; } public String toString() { return "id = "+id+" , "+"name = "+name; } }

noname#157425
質問者

補足

全文ありがとうございます。 ただ実行するとこういったメッセージが出ました。 exercise11.CustomerCard@19189e1 exercise11.CustomerCard@1f33675 exercise11.CustomerCard@7c6768 これはどういうことなんでしょうか?

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

プログラム作成依頼なら、業者を探して、正規代金払って作ってもらってください。 答え合わせがしたいのなら、あなたが作ったプログラムを貼ってください。 自分でやるより、複数の人に見てもらった方が確実だと思います。

noname#157425
質問者

補足

がんばれ

関連するQ&A

  • java 一意のIDを振り分けるには。。。

    一意のIDの振り分け方がわかりません。。。 以下のプログラムを改良したいのですが。 CustomerManagerが内部でです。ただCustomerManagerインスタンス毎に一意で構いません。 addCustomerメソッドの整数型引数は除去します。 何卒ご回答よろしくお願い致します。 package exercise12; class CustomerCard { String name; int id; public CustomerCard(int id,String name){ this.name = name; this.id = id; } public String getName(){ return this.name; } } package exercise12; class CustomerManager { public static void main(String[] args){ CustomerManager manager = new CustomerManager(); manager.addCustomerCard(1, "山田一郎"); manager.addCustomerCard(2, "鈴木太郎"); manager.addCustomerCard(3, "田中次郎"); manager.printAllInfo(); } private CustomerCard[] customers = new CustomerCard[4]; private int index = 0; public void addCustomerCard(int id,String name){ customers[index] = new CustomerCard(id,name); index++; } public void printAllInfo() { System.out.print("ID =" + customers[0].id + ","); System.out.println("名前 = " + customers[0].name); System.out.print("ID =" + customers[1].id + ","); System.out.println("名前 = " + customers[1].name); System.out.print("ID =" + customers[2].id + ","); System.out.println("名前 = " + customers[2].name); } }

    • ベストアンサー
    • Java
  • java.until.Mapに関してです。

    以下のプログラムで配列部分をjava.until.Map(キーはID)に変更して、 こんな事やるとどういうプログラムになるのでしょうか? 何卒ご回答よろしくお願い致します。 ・顧客情報を取得するgetCustomer(int id)メソッドを作成する ・顧客情報を変更するupdateCustomer(int id, String name)メソッド、 顧客情報を削除するdeleteCustomer(int id)メソッドを作成する  但し、指定idの顧客情報が存在しない場合は例外をスローしたいのです。 class CustomerManager { public static void main(String[] args){ CustomerManager manager = new CustomerManager(); manager.addCustomerCard( "山田一郎"); manager.addCustomerCard( "鈴木太郎"); manager.addCustomerCard( "田中次郎"); manager.printAllInfo(); } private CustomerCard[] customers = new CustomerCard[5]; private int index = 0; public void addCustomerCard(String name){ customers[index] = new CustomerCard(1 + index,name); index++; } public void printAllInfo() { System.out.print("ID =" + customers[0].id + ","); System.out.println("名前 = " + customers[0].name); System.out.print("ID =" + customers[1].id + ","); System.out.println("名前 = " + customers[1].name); System.out.print("ID =" + customers[2].id + ","); System.out.println("名前 = " + customers[2].name); } } class CustomerCard { String name; int id; public CustomerCard(int id,String name){ this.name = name; this.id = id; } public String getName(){ return this.name; } }

    • ベストアンサー
    • Java
  • java.util.Listについてです。

    以下の配列プログラムをava.util.Listを使うとどういう感じになるのでしょうか? 何卒ご回答よろしくお願い致します。 class CustomerManager { public static void main(String[] args){ CustomerManager manager = new CustomerManager(); manager.addCustomerCard( "山田一郎"); manager.addCustomerCard( "鈴木太郎"); manager.addCustomerCard( "田中次郎"); manager.printAllInfo(); } private CustomerCard[] customers = new CustomerCard[5]; private int index = 0; public void addCustomerCard(String name){ customers[index] = new CustomerCard(1 + index,name); index++; } public void printAllInfo() { System.out.print("ID =" + customers[0].id + ","); System.out.println("名前 = " + customers[0].name); System.out.print("ID =" + customers[1].id + ","); System.out.println("名前 = " + customers[1].name); System.out.print("ID =" + customers[2].id + ","); System.out.println("名前 = " + customers[2].name); } } class CustomerCard { String name; int id; public CustomerCard(int id,String name){ this.name = name; this.id = id; } public String getName(){ return this.name; } }

    • ベストアンサー
    • Java
  • またしてもjava.until.Mapに関してです

    いつもお世話になっております。以前質問したjava.until.Mapに関してですが、以下のプログラムのjava.until.List部分を変えるとどういった風になるのでしょうか? 何卒ご回答よろしくお願い致します。 class CustomerManager { public static void main(String[] args){ CustomerManager manager = new CustomerManager(); manager.addCustomerCard( "山田一郎"); manager.addCustomerCard( "鈴木太郎"); manager.addCustomerCard( "田中次郎"); manager.printAllInfo(); } private List<CustomerCard> customers = new ArrayList<CustomerCard>(); private int index = 0; public void addCustomerCard(String name){ customers.add(new CustomerCard(1 + index,name)); index++; } public void printAllInfo() { for(CustomerCard cc : customers){ System.out.print("ID =" + cc.id + ","); System.out.println("名前 =" + cc.name); } } } class CustomerCard { String name; int id; public CustomerCard(int id,String name){ this.name = name; this.id = id; } public String getName(){ return this.name; } }

    • ベストアンサー
    • Java
  • 作成日時拡張したいのです。毎度なんですが。。。

    以下の配列プログラムを簡潔するとこのような形に変更したいです。 ●CustomerCardの作成日時拡張  ・フィールドにCustomerCardが作成された日時を格納できるcreated   を追加したいです。もちろんその他必要なメソッドも。  ・CustomerCardのprintInfoで作成日時を表示(これはさすがに分かります笑)。  ・CustomerManagerのaddでCustomerCardのcreatedに現在日時を設定したいです。 class CustomerManager { public static void main(String[] args){ CustomerManager manager = new CustomerManager(); manager.addCustomerCard( "山田一郎"); manager.addCustomerCard( "鈴木太郎"); manager.addCustomerCard( "田中次郎"); manager.printAllInfo(); } private CustomerCard[] customers = new CustomerCard[5]; private int index = 0; public void addCustomerCard(String name){ customers[index] = new CustomerCard(1 + index,name); index++; } public void printAllInfo() { System.out.print("ID =" + customers[0].id + ","); System.out.println("名前 = " + customers[0].name); System.out.print("ID =" + customers[1].id + ","); System.out.println("名前 = " + customers[1].name); System.out.print("ID =" + customers[2].id + ","); System.out.println("名前 = " + customers[2].name); } } class CustomerCard { String name; int id; public CustomerCard(int id,String name){ this.name = name; this.id = id; } public String getName(){ return this.name; } }

    • ベストアンサー
    • Java
  • javaの問題なんですが。。。

    後述する機能を持った CustomerManagerクラス CustomerCardクラス の二つのクラスを作成してください。 CustomerCardクラスには ・IDと名前を引数に渡して設定するコンストラクタ ・数字のIDの変数を持つ ・文字列の名前の変数を持つ ・「ID = 1 , 名前 = "山田一郎"」の様に保持している変数の情報を出力するメソッド:printInfo CustomerManagerクラスには ・mainメソッドを持つ  機能として  CustomerCardクラスを使用して  ID = 1 , 名前 = "山田一郎"  ID = 2 , 名前 = "鈴木太郎"  と表示する という問題ですが誰かお答えよろしくお願い致します。

    • ベストアンサー
    • Java
  • java,Exception処理についてです。

    このプログラムからこういうことをしたいのですが。。。 ●RuntimeException(非チェック例外)を使ったエラー処理  現状の実装ではaddCustomerCardを5回までしか呼び出すことができない。  6回目の呼出しではプログラマがやってはいけない例外が発生する。  (たぶんArrayなんとかException)    これを6回目の呼出しであることを明示的にチェックし、自らが生成した  RuntimeExceptionをスローするようにしたいです。   ●Exceptionを使ったエラー処理  RuntimeExceptionをExceptionに変える。このときmainメソッドでも  対応が必要になるので、調査して対応を加えなさい。ただし、mainメソッド  にthrows句をつけづにしたいです。  mainメソッドでは受け取った例外のメッセージを標準出力に表示し、  プログラムを終了する。 public class CustomerCard { String name; int id; public CustomerCard(int id,String name){ this.name = name; this.id = id; } public String getName(){ return this.name; } 12 } public class CustomerManager { public static void main(String[] args){ CustomerManager manager = new CustomerManager(); manager.addCustomerCard(1, "山田一郎"); manager.addCustomerCard(2, "鈴木太郎"); manager.addCustomerCard(3, "田中次郎"); manager.printAllInfo(); } private CustomerCard[] customers = new CustomerCard[5]; private int index = 0; public void addCustomerCard(int id,String name){ customers[index] = new CustomerCard(id,name); index++; } public void printAllInfo() { System.out.print("ID =" + customers[0].id + ","); System.out.println("名前 = " + customers[0].name); System.out.print("ID =" + customers[1].id + ","); System.out.println("名前 = " + customers[1].name); System.out.print("ID =" + customers[2].id + ","); System.out.println("名前 = " + customers[2].name); } } 以下が現在までの処理結果です。 ID =1,名前 =山田一郎 ID =2,名前 =鈴木太郎 ID =3,名前 =田中次郎 以上何卒宜しくお願い致します。

    • ベストアンサー
    • Java
  • javaについてです。

    こちらのプログラミング全文を教えて下さい。 mainメソッドとは別に、以下の2つのメソッドを定義しなさい  メソッド1   2つの整数を引数に取り、その和を返すメソッド  メソッド2   3つの整数を引数に取り、    <引数(日)> と <引数(月)> の和は <引数(火)> です。   と出力するメソッド。   但し、戻り値は何も返してはいけない。 また、メソッド1とメソッド2を使って、  1+2、3+4、5+6 の結果を表示するプログラムをmainメソッドに作成しなさい。 但し、mainメソッドで足し算、System.out.printlnを使用してはいけない。 以上よろしくお願い致します。

    • ベストアンサー
    • Java
  • javaのクラスなど

    現在次のようなクラスを作成していて、自分なりに作ってはみたもののうまく分かりません。 どこが間違っていてどのように修正したらよいのか、詳しく教えてください。 9と10は分かりませんでした。 (1) 次に示す内容を満たすバー(Bar)クラスを作成せよ。 1. バーの右端のx座標(=バーの長さ)、バーの名前を扱う2つのprivateなインスタンス変数を持つ。 2. バーの総数を扱うprivateなクラス変数を持つ。ただし、 ここでいう総数とは、(1)コンストラクタで作成したもの、(2)代入操作で作成したもの、の両方を含む。 3. 引数無しのコンストラクタが呼び出されてバーオブジェクトが作成されると、そのバーのx座標は0以上400未満でランダムに決定され、名前は文字「A」とランダムに決定された0以上10000未満の整数が連接されたものに決定される。 4. バーのx座標を設定するインスタンスメソッドを持つ。 5. バーの名前を設定するインスタンスメソッドを持つ。 6. バーのx座標を取得するインスタンスメソッドを持つ。 7. バーの名前を取得するインスタンスメソッドを持つ。 8. 作成されたバーの総数を取得するクラスメソッドを持つ。 9. 作成されたバーの総数を1増やすクラスメソッドを持つ。 10. 作成されたバーの総数を1減らすクラスメソッドを持つ。 こちらが作ってみたものです。 class Bar{ private int x; private String name; private int count; private Bar(){ x=0; count=0; name=""; } public void Bar(){ x = (int)(Math.random()*400); name = "A" + (int)(Math.random()*10000); } public void setBar(int bx){ x=bx; } public void setName(String nm){ name=nm; } public void getX(int bx){ } public void getName(String nm){ } public void getCount(int c){ } }

    • ベストアンサー
    • Java
  • Javaのプログラムに関する質問です。

     以下のプログラムはコマンドライン引数で複数の数字を  受け取り、int型配列arrayに受け取った値を代入して  arrayの先頭から順番に表示しています。    変換クラスと、表示クラスを作成し  (1)の部分を変換クラスで、  (2)の部分を表示クラスで行うように修正してください。 */ class ClassAdd08{  public static void main(String[] args){   HenkanClass subA = new HenkanClass();//HenkanClassのインスタンス化   subA.henkan(len,array);//変換メソッドの呼び出し   HyoujiClass subB = new HyoujiClass();//HyoujiClassのインスタンス化   subB.hyouji();//表示メソッドの呼び出し  } }   //****************************     (1)     ********************************** class HenkanClass{//変換クラスを新規作成  public void henkan(){//変換メソッド   int len = args.length;   int[] array = new int[len];   for(int i = 0; i < len; i++){    array[i] = Integer.parseInt(args[i]);   }  } }    //****************************     (1)     **********************************    //****************************     (2)     ********************************** class HyoujiClass{//表示クラスを新規作成  public void hyouji(){//表示メソッド   System.out.println("受け取った引数:" + len + "個");      for(int i = 0; i < len; i++){    System.out.println((i + 1) + "個目の数:" + array[i]);   }  }   //****************************     (2)     ********************************** } クラスのインスタンス化と、対応するメソッドまでは作成したのですが、その後どうすればいいか分かりません。考え方やヒントなど、皆様の知恵をどうかお貸しください。お願い致します。

専門家に質問してみよう