gpt4 book ai didi

java - 如何声明 x 和 y 的大小 - java

转载 作者:行者123 更新时间:2023-12-02 10:41:34 25 4
gpt4 key购买 nike

因此,对于一项作业,我必须创建一个构建类,我得到了代码的基本框架,到目前为止,我正在努力的部分是设置 x 和 y 坐标的大小需要位于 setBuilding() 中。

这是该类所需的输出:

  • 建筑尺寸11×11
  • 房间从 (0,0) 到 (5, 5),门位于 (3, 5)
  • 房间从 (6,0) 到 (10, 10),门位于 (6, 6)
  • 房间从 (0,5) 到 (5, 10),门位于 (2, 5)

该程序显示除“建筑尺寸 11×11”之外的所有内容,我不是在找人为我做这项工作,只是想指出正确的方向。

感谢您的帮助

import java.util.*;

public class Building {
private int xSize = 10; // size of building in x
private int ySize = 10; // and y
private ArrayList<Room> allRooms; // array of rooms

Building (String first) {
allRooms = new ArrayList<Room>();
setBuilding(first);
}

public void setBuilding(String bS) {
String[] Space;
allRooms.clear();
Space = bS.split(";");
allRooms.add(new Room(Space[1]));
allRooms.add(new Room(Space[2]));
allRooms.add(new Room(Space[3]));
}

public String toString() {
String s;
s = " ";
for (Room r : allRooms) {
s = s + r.toString();
}
return s;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Buidling test\n");
Building b = new Building("11 11;0 0 5 5 3 5;6 0 10 10 6 6;0 5 5 10 2 5"); // Create
System.out.println("built building\n");
System.out.println(b.toString()); // And print
}
}

最佳答案

您没有向 toString 添加任何声明来显示建筑物尺寸。我假设您想使用建筑物的 xSizeySize。另请注意,您并未从传递给 setBuilding 的 buidlString 中提取建筑物尺寸。将您的 toString 更改为以下代码。

public String toString() {
String s = "Building size" + xSize + ", " + ySize;
for (Room r : allRooms) {
s += r.toString();
}
return s;
}

用于定义建筑物尺寸:

public void setBuilding(String bS) {
String[] Space;
allRooms.clear();
Space = bS.split(";");

//Here we'll update the requested building size
String[] buildingSize = Space[0].split(" "); //split the two integers
xSize = Integer.ParseInt(buildingSize[0]); //transform the string to int
ySize = Integer.ParseInt(buildingSize[1]); //transform the string to int

allRooms.add(new Room(Space[1]));
allRooms.add(new Room(Space[2]));
allRooms.add(new Room(Space[3]));
}

关于java - 如何声明 x 和 y 的大小 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52892591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com