2014-09-22 3 views
0

다른 클래스의 배열에서 Main으로 만든 객체에 액세스하는 방법을 파악하는 데 문제가 있습니다. 내가 무엇을하려고하는지에 대한 Psuedo.다른 클래스의 배열로 만든 객체에 액세스

레스토랑
  • 걸릴 수 n의 테이블 번호 기본 클래스 사용자 프롬프트에서
    • , 레스토랑 클래스
    • 액세스 작성된 각 tableobject을 N 표 객체의 어레이를 만들고 통해 값을 추가 할 수있을 주 전체에서 생성자

    코드가 더 잘 설명 할 수 있기를 바랍니다.

    내 주요 클래스

    Restaurant RestaurantObject = new Restaurant(); 
    Table TableObject = new Table(); 
    
    System.out.println("Max Tables In Restaurant? (Interger)");//Set Max Tables 
    Scanner smax_tables = new Scanner(System.in); 
    int max_tables = smax_tables.nextInt(); 
    RestaurantObject.create_table_array(TableObject, max_tables); 
    

    내 레스토랑 클래스

    private Table[] TableList; //and other random variables 
    //other methods 
    
    public void create_table_array(Table table,int number) { 
         Table[] TableList = new Table[number]; 
         int i = 0; 
         for(i = 0; i < number; i++) { 
          TableList[i] = table; 
         } 
    public Restaurant() { 
    
    } 
    

    내 표 클래스

    int max_amount; 
    
        public int getMax() { 
         return max_amount 
        } 
    
        Table(int number) { 
         this.max_amount = number; 
        } 
    

    그리고 내 원하는 작업

    • 실행 프로그램과 레스토랑에서 만든 최대 테이블
    • 5 테이블 5 입력은

  • System.out.printf("max amount for table1 is %d",Restaurant.Table1.getMax()
  • RestaurantObject.Table1(10) //set max to 10 in table object
  • 이제 메신저는 그것을 다시 찾고. 테이블에 대한 사용자에게 편집을 요청하고 배열의 해당 테이블 객체를 반환해야합니까? 어떤 도움을 내가 바로 질문을받을 경우, 당신이 여기 만든 배열에 액세스하려면, 감사

    답변

    0

    좋은 것 :

    public void create_table_array(Table table,int number) { 
        Table[] tableList = new Table[number]; 
        int i = 0; 
        for(i = 0; i < number; i++) 
          tableList[i] = table; 
    } 
    

    당신이 할 수있는 것은 Table[]void에서 방법을 변경하고 돌려 주어 생성 된 배열. 이처럼 : 메인 프로그램에서 지금

    public Table[] create_table_array(Table table,int number) { 
        Table[] tableList = new Table[number]; 
        int i = 0; 
        for(i = 0; i < number; i++) 
          tableList[i] = table; 
    
        return tableList; 
    } 
    

    , 당신은 방법을 다음과 같이 호출 할 수 있습니다 :

    Table[] tables = RestaurantObject.create_table_array(TableObject, max_tables); 
    

    지금 당신이 그들의 인덱스에 의해 모든 테이블에 액세스 할 수 있습니다. 예 :

    for(int i = 0; i < tables.length; i++) 
        //do something to tables[i] 
    

    또한 Java 명명 규칙을 따르고 변수 이름에 camelCase를 사용해야합니다. 예 : TableList ==>tableList 등 ...

    +0

    정확히 무엇을 찾고 있었습니까? 감사합니다. – Jovis13

    관련 문제