2011-01-13 14 views
0

forループを使用して文字列配列に "m"を追加し、各文字列をDDE接続に渡して株価をダウンロードしています。Javaループが文字列を正しく作成しない

String[] symbols = {"AUDUSD", "EURUSD", "GBPUSD", "USDJPY"}; 

    String ibfxSym[] = new String[symbols.length]; 

    for(int i = 0; i<symbols.length;i++) { 
     ibfxSym[i] = symbols[i] + "m"; 

    } 
      // start DDE 
    for (int i = 0; i < connections.length; i++) { 
     try { 
      connections[i].getQuote(ibfxSym[i]); 
     } catch (Exception e) { 
      System.out.println("error"); 
     } 
動作しません

、私が渡した場合:代わりに、ループの

String[] ibfxSym = {"AUDUSDm", "EURUSDm", "GBPUSDm", "USDJPYm"}; 

それだけで正常に動作します。私はそれがループで作成されるように各文字列を印刷しようとした、と彼らは同じに見えます。ループが追加できない奇妙な書式がありますか?私も試したことがあります:

ibfxSym[i] = String.valueOf(ibfxSym[i].trim()); 

キャリッジリターンや私が見ることができなかったものがあったかどうかを確認してください。何がここで間違っているのかについてのアイデア?おかげさまで つまり、あなたが変更している同じ配列から読んでいない

+1

を言っていますあなたはそれを考えましたか? getQuote(ibfxSym [i])を除いてコードが正しいように見えます - 配列のサイズと同じ接続数ですか? – Kylar

+1

'connections.length'は' ibfxSym.length'と同じですか? – Jeremy

+1

"それは動作しません"より具体的な可能性があります。 –

答えて

2

...

ibfxSym[i] = symbols[i] + "m"; 

for (int i = 0; i < connections.length; i++) { 
    try { 
     connections[i].getQuote(ibfxSym[i]); 

、あなたがconnectionsを反復処理に由来する、iと仮定され、また、有効なインデックスでありますibfxSymです。

+0

何ですか?彼はibfxSymに割り当てて、getQuoteを呼び出しています。 – Kylar

+0

@Kylar:@Falmarriが作っているのは、OPが 'ibfxSym'を作成してから、' connections'を繰り返して派生したインデックスで反復処理していることです。あなたが**知っていなければ安全ではありません**同じ長さの場合、または前者の方が小さい場合。 – Jeremy

+0

ああ、それは彼が言ったことではありません。彼は、彼が別の配列から印刷しているのではなく、別のインデックスカウンタで印刷していることを暗示しています。私はあなたが何を言っているかを見ます。 – Kylar

0

は、あなたがこれを実行しようとしましたがいる:

for(int i = 0; i<symbols.length;i++) { 
    ibfxSym[i] = new String(symbols[i] + "m"); 

} 
+0

'String'コンストラクタを直接呼び出すことは、ここでは冗長です。 – Jeremy

+0

+を使用すると新しいStringが作成され、新しい新しいStringを持つことで大きな違いはありません。 –

+0

これはすでにフードの下で起こっています(どちらの場合でも文字列バッファは実際に使用されます)。 – Kylar

1

connections.length 

ibfxSym.length 

またはこの場合4よりも大きい場合、あなたは外の配列のインデックスを取得する必要があります私は思う境界例外。あなたはループの後、ibfxSym []配列は何が含まれていないことを

2

あなたのループがうまく働いているあなたの接続配列はしかし、あなたのibfxSym配列をマッピングした場合にのみ、接続ループが代わりに働くだろうが...

+0

彼が言ったこと... – davogotland

関連する問題