Я использую цикл 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());
, чтобы увидеть, возможно ли возвращение каретки или что-то присоединенное, что я не мог видеть. Какие-нибудь идеи о том, что здесь происходит? Спасибо.
вы говорите, что после цикла, [] массив ibfxSym не содержит того, что вы думали, что это будет? Не должно быть добавлено каких-либо возвратов каретки, и код кажется правильным, за исключением getQuote (ibfxSym [i]) - количество подключений, такое же, как размер массива? – Kylar
Вы уверены, что 'connections.length' совпадает с' ibfxSym.length'? – Jeremy
«Это не работает» может быть более конкретным. –