Ive는 검색 및 트로프 (비슷한 소리) 문제를 시도했지만 해결할 수없는 것 같습니다.Object 내의 Object로부터 메소드를 호출합니까? (Java)
현재 일부 램프를 텍스트 입력으로 제어하기위한 프로토 타입을 만들고 있습니다. 텍스트 입력이 이미 작동하고 입력을 통해 올바르게 필터링 할 수 있으며 관련 부분 만 선택할 수 있습니다.
어쨌든, 이제는 유용 할 것입니다. 이제는 모든 집 (램프 등)을 포함하는 모든 층을 포함하는 모든 집을 포함하는 내 집의 오브 젝트를 먼저 만들어야합니다.
이들은 각각의 객체들에 대한 스 니펫입니다 (위에서부터 아래로). 서로 코드가 서로 마주 보게됩니다. (코드는 아직 완료되지 않았거나 최적화되어 있지 않습니다. 모든 if-else 문에 switch-case를 사용할 수 있습니다.) :
import java.util.ArrayList;
public class Building {
String Name;
ArrayList<floor> floor = new ArrayList<floor>();
public Building(String Name){
this.Name = Name;
}
public boolean checkFloor(String Name){
int count = floor.size();
boolean ret = false;
while(count < floor.size()){
if (floor.get(count).Name == Name){
count = floor.size();
ret = true;
}
count++;
}
return(ret);
}
public void newFloor(String Name){
Name = Name.toLowerCase();
if (Name == "keller" || Name == "basement"){
floor basement = new floor("basement");
floor.add(basement);
}
else if (Name == "eg"){
floor ground = new floor("eg");
floor.add(ground);
}
else if (Name == "1og"){
floor first = new floor("first");
floor.add(first);
}
else if (Name == "2og"){
floor second = new floor("second");
floor.add(second);
}
else if (Name == "3og"){
floor third = new floor("third");
floor.add(third);
}
}
public void newRoom(String Floor, String Name){
}
}
public class floor {
String Name;
ArrayList<room> room = new ArrayList<room>();
transcoder transcode = new transcoder();
public floor(String Name){
this.Name = Name;
}
public boolean checkRoom(String Name){
int count = room.size();
boolean ret = false;
while(count < room.size()){
if (room.get(count).Name == Name){
count = room.size();
ret = true;
}
count++;
}
return(ret);
}
public void newRoom(String mName){
String Name = transcode.getRoom(mName);
if(Name == "ground"){
room ground = new room("ground");
room.add(ground);
}
else if (Name == "basement"){
room basement = new room("basement");
room.add(basement);
}
else if (Name == "first"){
room first = new room("first");
room.add(first);
}
else if (Name == "second"){
room second = new room("second");
room.add(second);
}
}
}
public class room {
String Name;
ArrayList<Actor> Actors = new ArrayList<Actor>();
public room(String Name){
this.Name = Name;
}
public void addActor(String Name, int Type, String Address, int Channel, boolean Dim){
Actors.add(new Actor(Name, Type, Address, Channel, Dim));
}
public void removeActor(String Name){
int count = 0;
while (count <= Actors.size()){
if (Actors.get(count).Name == Name){
Actors.remove(count);
count = Actors.size();
}
count++;
}
}
public boolean containsActor(String Name){
int count = 0;
boolean ret = false;
while (count < Actors.size()){
if (Actors.get(count).Name == Name){
ret = true;
count = Actors.size();
}
count++;
}
return(ret);
}
public String getAddress(String Name){
int count = 0;
String ret = "leer";
while (count < Actors.size()){
if (Actors.get(count).Name == Name){
ret = Actors.get(count).Address;
count = Actors.size();
}
count++;
}
return(ret);
}
public int getType(String Name){
int count = 0;
int ret = 0;
while (count < Actors.size()){
if (Actors.get(count).Name == Name){
ret = Actors.get(count).Type;
count = Actors.size();
}
count++;
}
return(ret);
}
}
public class Actor {
String Name;
String Address;
int Channel;
int Type;
boolean Dim;
int On; //muss noch deklariert werden!
int Off;
public Actor(String Name, int Type, String Address, int Channel, boolean Dim){
this.Name = Name;
this.Type = Type;
this.Address = Address;
this.Channel = Channel;
this.Dim = Dim;
}
}
내 메인 클래스에서 지금하고 싶은 것은 바닥, 방 및 일부 배우가있는 새 건물을 만드는 것입니다. 코드는 다음과 같이 진행됩니다
System.out.println("Gebäudename eingeben(egal): ");
String Name = user_input.nextLine();
Building Building = new Building(Name);
System.out.println("Stockname eingeben(eg): ");
Name = user_input.nextLine();
Building.newFloor(Name);
System.out.println("Raumname eingeben(wohnen): ");
Name = user_input.nextLine();
Building.floor
를 이제 끝 Building.floor에서 꽤 지금 오브젝트 바닥에 새 방을 추가하는 방법을 참조 해달라고. 이드는 어떤 도움을 주셔서 감사합니다. 아직 자바에서는 그다지 환상적이지는 않지만, 분명히 분명한 부분이 빠져 있습니다.
http://stackoverflow.com/help/how-to-ask http://stackoverflow.com/help/mcve –