尝试使用扫描仪运行方法

时间:2015-12-13 03:05:48

标签: java

我正在做一个简单的学校项目,但我仍然坚持一些可能非常简单的事情。

该计划基本上适用于银行所有者"谁有权访问人们的帐户,并且能够创建多个帐户。

我需要做的就是允许用户输入他们想要获取信息的帐户名称

假设我创建了一个新帐户:

static Account account01 = new Account( "Account 1" , 25.0 );

其中" Account1"是帐户的名称和" 25.0"是美元的余额。

现在我有以下代码

System.out.println("Enter the name of the account that you want to print the    balance of");
    String nameInput = scan.nextLine();
    nameInput.toString();

我想运行account01的toString方法来打印帐户余额,但我该怎么做?我试过做nameInput.toString();但是只打印我输入的名称。我需要用输入帐户的名称替换nameInput。

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您好像在询问是否可以(某种方式)让用户输入变量的名称。这几乎是不可能的(对于局部变量),几乎肯定不是教师设想的。

这使您无法使用集合(首选)或数组......或者将帐户硬连接到代码中,这似乎与您的要求相矛盾。

  

"此项目中不允许任何数组或集合。"

鉴于要求银行经理可以创建多个帐户,这是一个特殊限制 1 。 (我想,您可能希望将信息放入数据库并通过JDBC访问它,但这不是一个简单的练习。)

我强烈怀疑您误解了要求,或者您没有正确地向我们解释这些要求。

1 - 虽然实现并非不可能。您可以从头开始实现自己的列表或数组类型。只是......很多工作,而且似乎是在你的任务背景下,从我能做出来的那一点开始。

答案 1 :(得分:-1)

您可以覆盖已定义toString()类的Account,以打印所有属性值:

import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
public String toString() {
   return ReflectionToStringBuilder.toString(this);
}

引自here

您可以覆盖toString()以打印所需的值。

但是,根据名称搜索帐户会要求您将帐户对象存储在某个集合中。