我有這四個類。 我想要做的是通過使用customerID向「用戶」添加「Liftcard」。這是我到目前爲止,但它似乎並沒有工作。我很確定問題出在窗口類的public void regLiftCard()方法中。任何人都知道我應該怎麼做? (即時通訊使用的ArrayList)將兩個對象相互連接
用戶類:
public class User implements Serializable {
private String surename, firstName, gender, age;
private int customerID;
public LiftCard liftCard;
User next;
同一類:
public LiftCard getLiftCard(){
return liftCard;
}
public void setLiftCard(LiftCard liftC){
liftCard = liftC;
}
窗口類:
public void regLiftCard()
{
int cardtype = Integer.parseInt(cardTypeField.getText());
int customerID = Integer.parseInt(findCustomerField.getText());
if(cardtype == 1 || cardtype == 2 || cardtype == 3 || customerID != 0)
{
//JOptionPane.showMessageDialog(this, "Du må fylle inn hvilket kort du skal ha 1/2/3");
try
{
User uu = userA.findById(customerID);
if (uu != null) {
if (uu.getLiftCard() != null) {
JOptionPane.showMessageDialog(this, "Kunden har allerede kort");
}
}
String fornavn = firstNameField.getText();
String etternavn = surenameField.getText();
String alder = ageField.getText();
String kjonn = genderField.getText();
LiftCard c = new LiftCard(cardNumber, cardtype);
if (userA.findByCardNumber(cardNumber) == null) {
uu.setLiftCard(c);
} else {
uu = new User(customerID, fornavn, etternavn, alder, kjonn);
}
JOptionPane.showMessageDialog(this, "Nytt kort/kunde er registrert");
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(this, "Feil i nummerformat!");
}
}
}
UserArchive類:
public void regLiftCard(User u) {
list.add(u);
}
Liftcard類:
private int cardNumber, cardType;
public LiftCard(int cN, int cT)
{
cardNumber = cN;
cardType = cT;
}
public int getCardNumber(){
return cardNumber;
}
public int getcardType(){
return cardType;
}
public String toString()
{
return cardNumber + "\t" + cardType;
}
}
定義「不起作用」。到目前爲止,它只是一個代碼轉儲,對預期或實際行爲的解釋爲零。不相關,但考慮與格式,支撐位置等一致。 – 2013-04-09 14:10:28
考慮將'liftCard'字段設置爲'private'和'final',並將其設置在'User'類的構造函數中。 – 2013-04-09 14:12:41
對不起,我真的很新。我打電話給regLiftCard時要做的是將新卡分配給用戶。所以如果我打印我的顧客名單,它會說這樣的:customerID有LiftcardID。我吮吸解釋,對不起。 – user2248471 2013-04-09 14:16:10