Java 正在尝试使用扫描程序运行方法

Java 正在尝试使用扫描程序运行方法,java,Java,我正在做一个简单的学校项目,但我被困在一些可能非常简单的事情上 该计划基本上是为“银行所有人”谁有权访问人们的帐户,并有能力创建多个帐户 我所需要做的就是允许用户输入他们想要获取信息的帐户名 假设我创建了一个新帐户,如下所示: static Account account01 = new Account( "Account 1" , 25.0 ); 其中“Account1”是账户名称,“25.0”是余额,单位为美元 现在我有以下代码 System.out.println("Enter the

我正在做一个简单的学校项目,但我被困在一些可能非常简单的事情上

该计划基本上是为“银行所有人”谁有权访问人们的帐户,并有能力创建多个帐户

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

假设我创建了一个新帐户,如下所示:

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


非常感谢您的帮助。

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

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

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


但是根据名称搜索Account需要将Account对象存储在某个集合中。

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

这样就可以使用集合(最好)或数组。。。或者将账户硬连接到代码中,这似乎与您的需求相矛盾

“此项目中不允许使用数组或集合。”

考虑到银行经理可以创建多个账户的要求,这是一个非常大的限制。(我想,您可以将信息放入数据库并通过JDBC访问它,但这不是一个简单的练习。)

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



1-但这并非不可能实现。您可以从头开始实现自己的列表或数组类型。只是很多工作,而且似乎是“除了你作业中的要点*之外,从我能理解的情况来看。

1。获取帐户列表,2。搜索使用给定名称的帐户,3。打印帐户。抱歉,忘记提及:此项目中不允许使用数组或集合。我曾想过这样做,但这是不允许的。如果不搜索帐户集合或使用反射(这可能不是您所了解的),就无法从字符串中获取帐户难道你不能用一个getter方法返回帐户余额吗?@FaforeTunde-OP仍然需要从输入中获取帐户对象实例。OP说
toString
已经实现了。您的搜索语句与其说是答案,不如说是注释,在注释中提到集合不能使用。@代码中的cricket\u 007
toString()
是在
String nameInput
上调用的,而不是在帐户类(我指的是)上调用的//逻辑覆盖
toString()
,根据创建的帐户对象数量(无集合表示创建的对象数量有限)打印所有对象的余额循环。检查每个帐户名调用的scanner值
toString()
I了解问题所在。如何在没有集合的情况下循环所有Account对象?另外,在本文中,我想为account01运行toString方法,该方法打印帐户余额,我认为这意味着
toString()
已在中定义Account@cricket_007,在对象上循环将需要自定义实现来管理所创建对象的索引。Stephen提到了List或Array Afaik的自定义实现,在java中,如果没有数组,就无法实现类似数组的类型。你能得到的最接近的是链表或二叉树。@hege_hegedus-这就是我的意思。可以使用链表、树或类似的东西来模拟数组。。。。效率低下。