免責聲明這些對象:THIS IS HOMEWORK我有對象的arrway,現在我想,以填補串
嗨,
目標:創建具有不同的房間,一平/公寓房,可以通過租用一個人(租房者)。我可以讓新的租客(如果有免費房間),並在他們想離開時刪除租房者。
我有什麼:
我已經創建了一個名爲平帶客房的自定義數組。
首先,我已經創建了一個陣列(沒有ArrayList的,因爲我知道數組的大小預先)
Flat(int a) {
rooms = new Room[a];
for (int i = 0; i < rooms.length; i++) {
rooms[i] = new Room();
}
}
其次,我已經添加了承租人對象進入室內,這些將在NULL首先是因爲我想檢查房間是否是空的。
public class Room {
renter Renter;
Room() {
renter = null;
}
}
所以,現在我有房間的陣列與renter對象被設置爲null。
第二部分:
我有一個叫做Renter的類。
承租人必須包含姓名和姓氏。這些數據將使用掃描儀類填寫。我承租人類看起來是這樣的:
public Class Renter {
private String name;
private String lastName;
public void setName(String name) {
this.name = name;
}
public void setName(String lastName) {
this.lastName = lastName;
}
好到目前爲止好:
現在我想承租添加到一個房間,如果房間可用。
所以在我平級的,我有一個方法newRenter,像這樣:
void newRenter() {
(if freeRooms > 0) {
for (int i = 0; i < rooms.length; i++) {
if (rooms[i].renter == null) {
rooms[i].renter = new Renter();
}
}
} else {
System.out.println("No rooms available");
}
現在,是我迷路了一部分。我不知道如何使用掃描儀類來填充這個新建的renter對象。
我的解決方案不起作用
這種感覺就像我應該這樣做「其他方式」以防萬一。首先創建一個空對象,然後用正確的數據填充這些對象。
例如,在我的房客類,我可以有下面的構造:
Renter() {
name = "";
lastname = "";
}
我想這個值填充正確的數據。所以我認爲我會創造二傳手。
public void setName(String name) {
this.name = name;
}
public void setLastname(String lastname) {
this.lastname = lastname;
然後在我的課,我和我的用戶交互,我會用掃描儀類和填充這些設置方法具有正確的信息:
public class userInput() {
String name;
String lastname;
public static String retrieveInput() {
Scanner input = new Scanner(System.in);
if (input.hasNextLine()) {
}
return input.nextLine();
}
public static void retrieveNameRenter() {
System.out.println("Please give your firstname:");
name = userInput();
System.out.println("Please give your lastname:");
lastname = userInput();
//GIVE THE SETTERS MY INFO
Renter.setLastname(lastname);
Renter.setname(name);
要問題(S)我的經驗主要有因爲我想用靜態方法(retrieveNameRenter)選擇一個對象的值(這是非靜態的)。
現在我的問題:
1)我的解決方案是否有意義?
2)如果是這樣,我該如何解決這些錯誤(我已經嘗試了很多不同的,類,公共,私人等等,等等)
error: non-static method setLastname(String) cannot be referenced from a static context
Renter.setLastname(lastname);
把你的錯誤,並在搜索字段複製粘貼(不含特定的變量名)。 –