2012-03-11 3 views
3

저는 Java 프로그램을 x10으로 변환하고 누군가 내가 번역하는 데 도움이 될지 궁금한 몇 가지 문제를 겪었습니다. 번역하려는 Java 세그먼트가 하나 있습니다.Java를 x10으로 변환

ArrayList<Posting>[] list = new ArrayList[this.V]; 
for (int k=0; k<this.V; ++k) { 
    list[k] = new ArrayList<Posting>(); 
} 

여기에 내가 10 배에 무슨 짓을했는지의

var list:ArrayList[Posting]=new ArrayList[Posting](this.V); 
for (var k:int=0; k<this.V; ++k) { 
    list(k)=new ArrayList[Posting](); 
} 

라인 오류 문 혼란을 생성하는

list(k)=new ArrayList[Posting](); 

어떤 제안 내가 '무엇에 아마도 설명입니다 이잖아 잘못하고있는거야?

+0

무엇이 잘못되었다고 생각합니까? 목록에 컴파일러 오류 또는 런타임 오류 메시지가 있습니까? – maerics

+1

당신이 이것을 알아 차렸는지 모르겠지만'ArrayList [] list = new ArrayList [this.V];는 ** ArrayList's ** ** (끔찍한 자바 코드 btw) 배열입니다. 나는 x10을 모른다. 그러나 조금 온라인으로 브라우징 한 후에는 당신이 꽤 바꿨 던 것처럼 보이지 않는다 ... – trutheality

답변

1

trutheality와 일치합니다.

val list = new Rail[ArrayList[Posting]](this.V); 
1
: 그것은 모두 유형 선언을 대신 varval를 사용하고 생략하는 것이 더 나은,

var list:Rail[ArrayList[Posting]]=new Rail[ArrayList[Posting]](this.V); 

을 또한, X10는 불변 변수에 대한 형식 유추를 지원하는 : 당신은 Rail[ArrayList[Posting]]처럼 무언가로 list을 정의해야합니다

다음은 사용자에게 적합한 코드입니다.

val list = new Rail[ArrayList[Posting]](this.V); 
for (k in 1..(this.V)) { 
    list(k)=new ArrayList[Posting](); 
} 

그리고 할 수 있습니다.

val list = new Rail[ArrayList[Posting]](this.V, (Long)=>new ArrayList[Temp]()); 

즉 초기화 된 배열을 만드는 데 단일 명령문을 사용하십시오.

관련 문제