将行为与数组初始化混淆--处理(Java)
在尝试创建特定长度的数组时,我遇到了一些令人困惑的行为。长度由函数getTermNums中读取的文件获得。当我尝试创建这样大小的数组时,我的代码以奇怪的顺序运行,我的I值是倾斜的,代码通常不会按预期运行。当我创建一个设置为整数的数组时,代码按预期运行,没有错误 双重[]条款; int numTerms=getnumtermsline[0]; 术语=新的双精度[numTerms]; int i=1;将行为与数组初始化混淆--处理(Java),java,processing,Java,Processing,在尝试创建特定长度的数组时,我遇到了一些令人困惑的行为。长度由函数getTermNums中读取的文件获得。当我尝试创建这样大小的数组时,我的代码以奇怪的顺序运行,我的I值是倾斜的,代码通常不会按预期运行。当我创建一个设置为整数的数组时,代码按预期运行,没有错误 双重[]条款; int numTerms=getnumtermsline[0]; 术语=新的双精度[numTerms]; int i=1; 对于i=1;我在没有看到文本的情况下,在getNumTerms中推断错误发生的位置是令人厌烦的 您
对于i=1;我在没有看到文本的情况下,在getNumTerms中推断错误发生的位置是令人厌烦的 您可以使用查找项的索引并提取包含整数值的字符串 据我所知,理想的字符串应该是一个术语后跟一个整数,然后是一个空格字符。如果找到这些项目,并且您应该能够使用以下内容:
String line = "LINE START TERM-1238847 LINE END";
int getTerm(String line){
int result = Integer.MAX_VALUE;
final String SEARCH_TOKEN = "TERM";
// look for TERM token and remember index
int termIndex = line.indexOf(SEARCH_TOKEN);
// handle not found
if(termIndex < 0){
System.err.println("error: " + SEARCH_TOKEN + " not found in line");
return result;
}
// move index by the size of the token
termIndex += SEARCH_TOKEN.length();
int spaceIndex = line.indexOf(' ',termIndex);
if(spaceIndex < 0){
System.err.println("error: no SPACE found after " + SEARCH_TOKEN);
return result;
}
// chop string extracing between token end and first space encountered
String intString = line.substring(termIndex,spaceIndex);
// try to parse int handling error
try{
result = Integer.parseInt(intString);
}catch(Exception e){
System.err.println("error parsing integer from string " + intString);
e.printStackTrace();
}
return result;
}
System.out.println("parsed integer: " + getTerm(line));
你能发布你正在解析的文本的样本吗?如何解析numTerms整数值可能有问题。是否使用了调试器?