gpt4 book ai didi

java - 如何使用另一个类的实例变量接受用户输入?

转载 作者:太空宇宙 更新时间:2023-11-04 12:05:37 25 4
gpt4 key购买 nike

我有一项大学作业,其中我们必须序列化一个名为 Current 的子类。我们必须要求用户输入新的当前帐户的详细信息,以便将其序列化。

我有一个类层次结构,其中 Account 类是父类(super class)。应该可以添加、查看、列出、编辑和删除当前对象。我们不能要求用户添加他们的帐号,因为这是通过静态变量完成的。例如:**accountNo** = **nextAvailableNumber++**;

我必须接受用户名和dateOpened详细信息,并且我已经编写了一个Name类,但是Name类有一个名为name的Name类型变量,所以我不能在子类中将它用作字符串。它给了我一个不匹配异常,无法将字符串转换为名称和不匹配异常,无法将 dateOpened 从 int 转换为日期。

我的问题是。如果我必须接受用户输入。我应该使用 Name 类中 Type Name 的 name 变量来获取输入吗?我应该对 Date 类型的 **dateOpened** 变量做同样的事情吗?我应该选角吗?这是我的代码,它是一个基于菜单的系统,允许用户设置帐户。

//命名类,其名称变量为 Name 类型 && Date 变量 **dateOpened** 为 Date 类型。

package ie.lyit.bank;

public abstract class Account
{
protected Name name; // COMPOSITION - Account HAS-A name (object of class Name)
protected String address;
protected double balance;
protected Date dateOpened; // COMPOSITION - Account HAS-A dateOpened (object of class Date)
protected int accountNo;

private static int nextUniqueNumber = 1; // Next available unique Account number

// Default Constructor - set Instance Variables to null
public Account()
{
name = new Name();
address= new String(); // OR address = ""; OR address = null;
balance = 0.0;
dateOpened = new Date();
// Set accountNo to static nextUniqueNumber & increment it for next accountNo
accountNo = nextUniqueNumber++;
}

// Current class with read() method
// Read method to read in the account details from the user

public void read()
{
Scanner keyboardIn = new Scanner(System.in);
System.out.println("ENTER ACCOUNT DETAILS ==>");
System.out.print("ACCOUNT NAME : ");
name = keyboardIn.nextLine();
System.out.print("ACCOUNT ADDRESS : ");
address = keyboardIn.nextLine();
System.out.print("ACCOUNT BALANCE : ");
balance = keyboardIn.nextDouble();
System.out.print("ACCOUNT DATE OPENED : ");
dateOpened = keyboardIn.nextInt();
}
}

最佳答案

您不需要使用Name类型,您只需将其声明为String并将其作为类变量访问即可。

如果您有一个派生类(例如 xyz),它需要访问父类(super class)(例如 Account)的名称变量。

您可以像 Account.Name 一样访问它,说明您已将其定义如下。

class Account
{
protected String Name;

}

class xyz extends Account
{
// here u can access using Account.Name;
}

关于java - 如何使用另一个类的实例变量接受用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40397598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com