【问题标题】:Naming java objects命名java对象
【发布时间】:2017-12-23 03:14:20
【问题描述】:

所以现在,我正在制作一个简单的 java 银行程序。它允许您添加客户并存入/提取资金。现在,我有 3 个类:Main、Bank 和 Customer。现在我有它,所以当您添加客户时,它会询问您的姓名。但现在我在命名它们时遇到了麻烦。我想 客户将用户名作为对象名称。例如,如果我输入 Bob1789 作为用户名,程序会这样做:

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() 是对象名称。

有没有办法做到这一点?

【问题讨论】:

  • name 无所谓,它只是一个变量,重要的是类的值,如果你在类中有 name 字段那么你可以识别使用它的客户
  • 变量命名的用例是什么?
  • 嘿。我从标题就知道这是怎么回事。似乎每个人都想以某种形式作为初学者这样做。欢迎来到数据结构的世界@SilentBeast!您会在这里找到许多让您的兴趣保持新鲜的事物。
  • 哦对了,忘了给变量命名也没关系。

标签: java object naming


【解决方案1】:

您可以为此使用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&lt;String, Customer&gt;,其中名称是键,值是对象。

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

    添加map.put("yourName", obj); 获取map.pget("yourName");

    【讨论】:

    • 还没学过HashMap,我是java初学者,还在学基础。不过感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 2011-02-12
    • 1970-01-01
    相关资源
    最近更新 更多