2013-04-05 3 views
0

문제가 있습니다. 지금, 화학 프로그램의 일환으로, 내가 가진 :배열에서 값을 참조하는 데 문제가 있습니다.

public static Substance Na; 
public static Substance Br; 

public static Substance NaBr; 

public static Substance[][] combinations = { 
      {NaBr, NaCl}, 
     {Na , Na }, 
      {Br , Cl }}; 
combinations[0][0] = new compound(550); 

addCombination(combinations[0][0] , combinations[1][0], combinations[2][0]); 

목표는 여기 NaBr은을 만들기 위해 나 및 브롬을 사용하는 조합을 추가하는 것입니다. 불행하게도이 프로그램은 참조 할 "Na"와 "Br"대신 "combination [1] [0]"과 "combinations [2] [0]"를 자체 변수로 참조하는 것 같습니다. 그 값을 각각 "Na"와 "Br"으로 대체하면 매력적입니다! 배열을 만드는 방법에 대한 아이디어는 미리 초기화 된 "Na"와 "Br"을 참조하는 것으로 인식합니다. 배열에있는 것들 중?

도움이 될 것입니다. 미리 감사드립니다. 코드에서

+3

'addCombination' 코드를 게시 할 수 있습니까? – Reimeus

+0

'compound' 객체를위한 ** 생성자 **와'addCombination' 메소드의 (이미 요청 된) 코드를보기에 충분한 코드를 게시하십시오. 또한 당신이 그것을 발견 한 어떤 방법 으로든 문제를 보여주는 부분. –

+0

모든 것은 3 가지 물질을 사용합니다. 첫 번째 매개 변수는이 매개 변수를 따르는 다른 모든 매개 변수의 결과로 만듭니다. 이 경우 코드는 ""[1] [0] "및"Na "및"Br "조합"[2] [0] "바꿀 경우 작동합니다. 배열이 제대로 참조하는 경우, 그것은 같은 결과를 반환 할 것입니다 ... 아니면 어쩌면 나는 완전히 뭔가를 놓치고 있습니다. ... – user2250964

답변

2

난 단지 당신이 "나"와 "브롬"초기화 한 것으로 가정 할 수 있습니다 당신은 당신이 알 코드의 상단에있는 "나"와 "브롬을"initalize 경우

public static Substance[][] combinations = { 
      {NaBr, NaCl}, 
      {Na , Na }, 
      {Br , Cl }}; 

을 delcaring 후 이 두 변수가 존재하지 않을 때 조합이 선언 되었기 때문에 정상적으로 작동합니다. 이 시도하십시오

public static Substance Na = new Substance(...); 
public static Substance Br = new Substance(...); 

public static Substance NaBr = new Substance(...); 

public static Substance[][] combinations = { 
      {NaBr, NaCl}, 
     {Na , Na }, 
      {Br , Cl }}; 

및 작동합니다.

+0

Ahhhhh sooo 많이 감사합니다! – user2250964

관련 문제