В настоящее время я выполняю задание, где у меня есть два класса Room and House. В рамках задания мне нужно для того, чтобы класс дома хранить номера в ArrayList
:Как реализовать ArrayList для добавления объектов «Комнаты» в список объектов «Дом»?
Реализовать метод для чтения в информации номер в
House
класса с клавиатуры - это должно вызватьRoom
конструктор по мере необходимости , Создайте конструктор House с нулевым аргументом, чтобы вызвать этот новый метод.
Прошу прощения, если это неясно или ответили в другом месте, но, пытаясь понять объяснения по другим подобным запросам, я не знаю, как применить их к моей ситуации.
Как подать заявку ArrayList
от Room
к классу дома?
House
:
import java.util.ArrayList;
import java.util.Scanner;
public class House {
private int idNum;
private static int internalCount = 0;
private ArrayList rooms = new ArrayList();
private String address;
private int numRooms;
private String houseType;
public House (String address, int numRooms, String houseType) {
idNum = internalCount++;
this.address = address;
this.numRooms = numRooms;
this.houseType = houseType;
}
public House() {
int i = 0;
idNum = ++internalCount;
Scanner scan = new Scanner(System.in);
scan.useDelimiter("\n");
System.out.println("Enter address of house:");
address = scan.next();
System.out.println("Enter number of rooms:"); //Number of rooms in the House
numRooms = scan.nextInt();
while (i < numRooms) //This will loop until all rooms have been described
{
add.room = new Room[100]; //I understand this is incorrect but I don't know what I should have in here
i++;
}
System.out.println("Enter type of house:");
houseType = scan.next();
}
public void addroom(String description, double length, double width)
{
}
int getIdNum() {
return idNum;
}
@Override
public String toString()
{
String report = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
report += "Address: " + address + "\n";
report += "No. of Rooms: " + numRooms + "\n";
report += "House Type: " + houseType+ "\n";
report += "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
return report;
}
}
Room
:
import java.util.Scanner;
public class Room {
private String description;
private double length;
private double width;
public Room (String description, double length, double width) {
this.description = description;
this.length = length;
this.width = width;
}
public Room() {
Scanner scan = new Scanner(System.in);
scan.useDelimiter("\n");
System.out.println("Enter description of room:");
description = scan.next();
System.out.println("Enter length of room:");
length = scan.nextDouble();
System.out.println("Enter width of room:");
width = scan.nextDouble();
}
/*
* Calculates and returns area of Room
*/
public double getArea() {
return length*width;
}
@Override
public String toString() {
return description + "- Length: " + length + "m; Width: " + width + 'm';
}
}
Задайте конкретный вопрос, связанный с ArrayList. –