【问题标题】:How can I show segmented information in an array?如何在数组中显示分段信息?
【发布时间】:2019-10-03 11:00:17
【问题描述】:

我必须创建一个包含房屋列表的程序。在这所房子里必须有这样的信息: 方向,邮政编码,房间数量和房子的平方米。 我最大的问题之一是必须对这些信息进行分段。所以,首先必须显示路线列表,然后是邮政编码列表,然后是房间数量......

我创建了一个 House 类,并为每个类设置了 String 变量(方向、邮政编码、房间数和房子的平方米)。

我知道我应该使用数组、for 和 objects,但这是我的第一个任务,我真的不知道应该如何或从哪里开始。

我真的很想学习如何做,所以如果您有任何想法、提示或建议,我将不胜感激。我不想让别人做我的任务,我只想知道如何开始。 谢谢!

这是我目前的代码:

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();

    }

}

【问题讨论】:

标签: java arrays object for-loop


【解决方案1】:

创建一个 ArrayList 并将每个房屋添加到该列表中。然后为每个段(方向、邮政编码等)执行 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 类中应该有吸气剂。

【讨论】:

    【解决方案2】:

    像这样初始化一个字符串数组:

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

    ...在众议院课程中。 然后你可以编写一个方法来返回所有这些:

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

    在 outputString 中,你最后会有一个多余的 \n,只是一个 newLine-Tag,但我希望这并不重要。

    【讨论】:

      【解决方案3】:

      尝试重写 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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-06
        • 2023-03-27
        相关资源
        最近更新 更多