我正在使用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 2011-01-13 19:00:22
你确定`connections.length`与`ibfxSym.length`相同吗? – Jeremy 2011-01-13 19:00:32
“这不起作用”可能更具体。 – 2011-01-13 19:03:10