Как я могу показать сегментированную информацию в массиве? - PullRequest
0 голосов
/ 03 октября 2019

Мне нужно создать программу, в которой есть список домов. В этих домах должна быть эта информация: направление, почтовый индекс, количество комнат и квадратные метры дома. Одна из моих самых больших проблем заключается в том, что эта информация должна быть сегментирована. Итак, сначала должен быть показан список направлений, затем список почтовых индексов, затем количество комнат ...

Я создал класс House и установил переменные String для каждой из них (direction, zipcode, количество комнат и квадратные метры дома).

Я знаю, что мне следует использовать массивы, объекты и объекты, но это мое первое задание, и я действительно растерялся, как и с чего мне начинать.

Я действительно хочу узнать, как это сделать, поэтому, если у вас есть идея, совет или предложение, я был бы признателен. Я не хочу, чтобы люди выполняли мое задание. Я просто хочу знать, как я могу начать. спасибо!

Это мой код:

package ejerciciofinalt3;

public class HouseExercise {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        House house1 = new House();
        house1.showHouseInfo();

        house1.direction = "abc";
        house1.postCode = "08397";
        house1.roomNumber = "4";
        house1.squareMeter = "100";


        house1.showHouseInfo();

    }

}

Ответы [ 3 ]

0 голосов
/ 03 октября 2019

Создайте ArrayList и добавьте каждый дом в этот список. Затем для каждого из сегментов (направления, zipCodes и т. Д.) Выполните цикл for и напечатайте сегмент:

 List <House> houseL = new ArrayList();
 houseL.add(house1);
 houseL.add(house2);
 houseL.add(house3);
 System.out.println("-- Directions --");
 for (House house:houseL){
    System.out.println(house.getDirection());
 }
 System.out.println("-- Zip Codes--");
 for (House house:houseL){
    System.out.println(house.getPostCode());
 }
//etc

У вас должны быть геттеры в классе House.

0 голосов
/ 03 октября 2019

Попробуйте переопределить метод toString (), например

class House{
...
@override
public String toString(){
  return String.format("direction: %s postCode: %s roomNumber: %s squareMeter : %s", 
  this.direction, this.postCode, this.roomNumber, this.squareMeter);  
}

после, если вы хотите отобразить, просто вызовите

System.out.println(house.toString());

или

System.out.println(house);
0 голосов
/ 03 октября 2019

Инициализируйте строковый массив следующим образом:

String[] housePropertiesArray = new String[]{"abc", "08397", "4", "100"};

... в классе Дома. Затем вы можете написать метод, который будет возвращать все из них:

public String getProperties(){
String output = "";
for(String property : housePropertiesArray){
output += property + "\n";
}
return output;
}

В выходной строке у вас будет лишний \ n в конце, просто новый LineLine-Tag, но я надеюсь, что это не будет иметь большого значения.

...