2013-03-26 2 views
0

그래서 ... 저는 웹용 Java를보고 있으며, 이미 커다란 프로젝트가 있습니다. 저는 PHP와 C++에 익숙해 져서이 언어를 배우는 데 많은 어려움을 겪지는 않지만 그 질문에 매달 렸습니다.다차원 배열을 설정하고 읽으십시오.

array("data" => array ("Name" => "John", "Age" => "16")) 

내 질문은 다음과 같습니다 :

그 형식의 다차원 배열이 무효가 난 배열의 종류를 받아 내 방법을 설정할 수있는 방법

(위) 및 방법 그 다차원 배열 (벨로우즈)을 읽을 수 있습니까?

예컨대 :

public void getArray(String[] data) { println(data["data"]["Name"]; } 

-

getArray(array("data" => array("Name" => "John", "Age" => "16"))); 

// to returns: 'John' 

-

것을 제외 :이 바보 같은 질문 인 경우 미안 해요, 난 정말 자바에 대한 지식이 없습니다. 나는 공부할 것이지만, 정말로 그 질문에 답이 필요하다는 것을 알고 있습니다. 사전에

감사합니다.

답변

2

PHP의 배열은 실제로 배열이 아니며, hash tables입니다. Java의 버전은 HashMap입니다.

HashMap<String, String> data = new HashMap<String, String>(); 
data.put("Name", "John"); 
// etc. 
System.out.println(data.get("Name")); 

그 이외의 PHP 프로그래머가 일반적으로 이런 종류의 수행 방법이기 때문에 또한, 클래스로 보일 것입니다 : 다음

class Person { 
    private String name; 
    private int age; 

    public Person(String name, int age) { 
     this.name = name; 
     this.age = age; 
    } 

    public String getName() { 
     return this.name; 
    } 

    // etc. 
} 

:

class SomeClass { 
    public static void main(String[] args) { 
     Person person = new Person("John", 16); 
     HashMap<String, Person> people = new HashMap<String, Person>(); 
     people.put(person.getName(), person); 
    } 
} 

수업 일을 실질적으로 간단하게 만들 수 있습니다 대규모 프로젝트의 경우 값을 보유하는 것 이상을 수행 할 수 있으므로 다음을 수행하십시오.

class Person { 
    private String firstName; 
    private String lastName; 

    public Person(String firstName, String lastName) { 
     this.firstName = firstName; 
     this.lastName = lastName; 
    } 

    /** 
    * Returns a person's full name (first and last name), without 
    * storing it as a seperate variable internally. 
    */ 
    public String getName() { 
     return this.firstName + " " + this.lastName; 
    } 

    public String getFirstName() { 
     return this.firstName; 
    } 

    // etc. 
} 

더하기, 유형 안전을 얻습니다. 컴파일 시간에 문제를 발견하는 것이 훨씬 낫습니다. 애플리케이션을 배포하기 전에 문제를 해결할 수 있기 때문입니다. 내가 다차원 배열을 사용할 때 내가 뭘

0

이 같은 뭔가를해야만이다

public class SayHello 
{ 

public String[][] test; 

public void Main(String[] args) 
{ 
    SayHello test = new SayHello(); 
    test.test = new String[4][4]; 
    test.testMethod(test.test); 
} 

private void testMethod(String[][] array) 
{ 
for(int i = 0; i<array.length;i++) { 
    for(int x = 0;x<array[i].length;x++) { 
    System.out.println(array[i][x]); 
    } 
} 
    System.out.println(array[0][1]); 
} 
} 

나는이 조금 당신을 도와줍니다 홉

관련 문제