我正在學習Java,並且我已經有了一個用Java編寫郵資系統的任務。繼承人我的任務:如何通過Java中的參數傳遞變量?
「實現一個方法public booelan updateTrackingHistory(String datetime,String location),它允許更新包裹從發件人到收件人的跟蹤歷史記錄,如下所示。 如果沒有爲包裹設置包裹大小,或者包裹已經發送,則該方法應該立即返回false 否則,該方法應構造一個新的跟蹤條目,註明日期/時間和位置,之後新跟蹤條目應附加到新行的跟蹤歷史記錄中 跟蹤歷史記錄更新後,方法應返回true,表示跟蹤更新已成功記錄。
這就是我迄今爲止編寫的所有代碼,但我在構建新的跟蹤條目時遇到了一些困難,不確定如何繼續此方法。在這個代碼中的最後一個方法是Im卡住的地方。
public class parcel {
//Instance Variables
//The info we need to keep track of
private String parcelNumber;
private String senderName;
private String returnAddress;
private String recipientName;
private String deliveryAddress;
private String contactNumber;
private String satchelSize;
private boolean deliveryComplete;
private String trackingHistory;
//Constructors
public parcel (String parcelNumber, String senderName, String returnAddress, String recipientName,
String deliveryAddress, String contactNumber, String trackingHistory) {
this.parcelNumber = parcelNumber;
this.senderName = senderName;
this.returnAddress = returnAddress;
this.recipientName = recipientName;
this.deliveryAddress = deliveryAddress;
this.contactNumber = contactNumber;
this.trackingHistory = "";
}
//Getters
public String getparcelNumber() {
return parcelNumber;
}
public String getrecipientName() {
return recipientName;
}
public String getdeliveryAddress() {
return deliveryAddress;
}
public String getcontactNumber() {
return contactNumber;
}
//Helper Method.
public int calculatePostageCost() {
int postCost = 0;
int trackingFee = 5;
if(satchelSize.equals("Small") || satchelSize.equals("small"))
postCost = trackingFee + 10;
else if(satchelSize.equals("Medium") || satchelSize.equals("medium"))
postCost = trackingFee + 13;
else if(satchelSize.equals("Large") || satchelSize.equals("large"))
postCost = trackingFee + 17;
return postCost;
}
//Method
public int selectSatchel(int parcelLength, int parcelWidth) {
if(satchelSize != null)
return -1;
if(parcelLength > 500 || parcelWidth > 400)
return 0;
else {
//code for finding out smallest parcel size it will fit in
return calculatePostageCost();
}
}
public boolean updateTrackingHistory(String datetime, String location) {
if(satchelSize == null || satchelSize.isEmpty())
{
return false;
}
//Check if parcel has already been delivered
else if(trackingHistory != null) {
return false;
}
}
在構造函數中,而不是'this.trackingHistory = 「」;''寫= this.trackingHistory trackingHistory' –
下次請減少空格和大小的類名和構造函數。 – LenglBoy
「_我有點卡在構建一個新的跟蹤條目,並不確定如何繼續這種方法_」...什麼是問題?注意你的curren方法不會被編譯,因爲你不會在每種情況下都返回一個值。 – AxelH