[英]How do I accept user input with a instance variable of another class?
我有一個大學的任務,我們必須序列化一個名為Current的子類。 我們必須要求用戶輸入新的當前帳戶的詳細信息,以便可以序列化。
我有一個類層次結構,其中Account類是超類。 應該可以添加,查看,列出,編輯和刪除當前對象。 我們不能要求用戶添加他們的帳號,因為這是通過靜態變量完成的。 例如: **accountNo** = **nextAvailableNumber++**
;
我必須接受用戶名和dateOpened的詳細信息,我已經編寫了一個Name類,但Name類有一個名為name的Name類型的變量,所以我不能將它用作子類中的String。 它給了我一個不匹配的異常,無法將String轉換為Name和mismatch異常,無法將date轉換為Date為DateOpened 。
我的問題是。 如果我必須接受用戶輸入。 我應該在Name類中使用Type Name的name變量來獲取輸入,我應該對Date
類型的**dateOpened**
變量做同樣的**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誰需要訪問超類的名稱變量說Account。
你可以像Account.Name一樣訪問它,說你已經定義如下。
class Account
{
protected String Name;
}
class xyz extends Account
{
// here u can access using Account.Name;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.