处理类项目,在将数据读入数组后遇到问题。
在excel电子表格中,我需要直接阅读一栏,只关注每个块中的第一个数字。当我拆分列时,它是一个没有空格的连续字符串,所以我无法弄清楚如何只计算第一个数字而不是计算每个数字(正如代码现在所做的那样)。 示例:(11,20,296)被拆分,变为“1120296”
final int[] benfordLaw = {0, 30, 18, 13, 10, 8, 7, 6, 5, 5};
int[] actualPrecent = new int[10];
int benfordScore = 0;
float[] countForNum = new float[10];
float totalCount = 0;
//This while loop will read through each line of the file
while (scan.hasNextLine()) {
// This statement reads in the next line of the file.
String line = scan.nextLine();
String[] values = line.split(",(?=(?:(?:[^\"]*+\"){2})*+[^\"]*+$)");
//12-15 is the column #'s
for (int i = 12; i < 15; ++i) {
for (int j = 0; j < values[i].length(); j++) {
char charA = values[i].charAt(j);
for (int k = 1; k <= 9; ++k){
char compare = (char)(k + '0');
if (charA == compare) {
++countForNum[k];
++totalCount;
}
}
}
}
}
答案 0 :(得分:0)
我想我并没有完全明白你的问题,但希望有所帮助
示例:(11,20,296)被拆分,成为&#34; 1120296&#34; =&GT;如果你只想在文本中获得11
读取行并获取字符串 Sol 1.) a)删除第一个和最后一个字符 b)Split.Text并修剪它。 c)获得第一个
Sol 2.) 使用RegEx并获取第一个元素 ex RegEx。)([0-9] *),
祝你好运