2017-12-23 33 views
3

今、私は単純なJavaバンキングプログラムを作っています。顧客を追加し、資金を入出金することができます。今、私は3つのクラスがあります:メイン、銀行、顧客。今すぐ私はそれを持っているので、顧客を追加するときに、あなたに名前を尋ねる。しかし今、私はそれらの名前を付けるのが難しいです。 お客様はオブジェクト名としてユーザー名を使用します。私は、ユーザー名とBob1789で入力した場合、プログラムはどうなる:Javaオブジェクトの名前付け

Customer Bob1789 = new Customer("Bob1789"); 

私はどうなるrandomcustomer123プログラムに入力した場合:

Customer randomcustomer123 = new Customer("randomcustomer123"); 

をだから、基本的に、私はボックスに入力するものは何でもスキャナから、顧客名に渡すことができます。

Customer (whatever was typed in the scanner) = new Customer((whatever was typed in the scanner)); 

私はこれを実行しようとしましたが、javaは常にscanner.NextLine()がオブジェクト名であることを前提としています。

これを行う方法はありますか?

+1

名を取得するためにmap.put("yourName", obj); を追加する

Map<String, Customer> map = new HashMap<>(); 

あなたはクラスの名前フィールドを持っているならば、あなたは顧客を識別することができ、何が重要ですが、クラスの値であり、そのわずか変数を重要ではありません。それを使用して – johnII

+2

変数の名前を付けるユースケースは何ですか? –

+1

Heh。私はこれがタイトルからちょうど行くところを知っていた。誰もが初心者として何らかの形でこれをやろうと思っているようです。 @SilentBeastのデータ構造の世界へようこそ!あなたはここであなたの興味を新鮮に保つために多くのものを見つけるでしょう。 –

答えて

3

これにはHashMap<String, Customer>を使用できます。これにより、名前と顧客のペアを格納できます。

HashMap<String, Customer> allCustomers = new HashMap<>(); 

String customerName = scanner.nextLine(); 
allCustomers.put(customerName, new Customer(customerName)); 

は、特定の名前を持つ顧客を取得するには、新しい顧客を作成し、マップにそれを置くために、これを使用する:

allCustomers.get("some name"); 
2

がなぜ知ってはいけませんあなたはobj名を使いたいと思う。おそらくHashMap<String, Customer>を使用する必要があります。ここで、nameはキー、valueはオブジェクトです。 map.pget("yourName");

+0

まだHashMapを学んでいない、私はJavaの初心者ですが、まだ基本を学んでいます。しかし、助けてくれてありがとう! –

関連する問題