我需要做的是创建一个需要用文本文件中的行数填充的数组,所以假设文本文件有5行,所以数组将是: array [5 ] 我有以下代码:
( 4 8 )
我想要做的是在代码的最后一行创建数组,我试着这样做,但是如果我尝试打印类似的东西:
try{ LineNumberReader lnr = new LineNumberReader(new FileReader(new File("lista de numeros.txt"))); int linenumber = 0; int primero = 0;
String tmp = new String();
tmp=lnr.readLine();
while(tmp != null)
{
linenumber++;
JOptionPane.showMessageDialog (null, (tmp));
tmp=lnr.readLine();
} int mitad=(0+linenumber)/2; int [] array = new int[linenumber];
仅显示 0 : 有人能告诉我怎样才能以正确的方式填充阵列
答案 0 :(得分:0)
您永远不会在代码中填充int数组,并且int数组元素的默认值为0。 您可以尝试使用ArrayList动态添加数字,然后使用它来填充数组:
try {
LineNumberReader lnr = new LineNumberReader(new FileReader(new File("lista de numeros.txt")));
int linenumber = 0;
int primero = 0;
ArrayList<Integer> tmpArrayList = new ArrayList();
String tmp = new String();
tmp = lnr.readLine();
while (tmp != null) {
tmpArrayList.add(Integer.parseInt(tmp));
linenumber++;
JOptionPane.showMessageDialog(null, (tmp));
tmp = lnr.readLine();
}
int mitad = (0 + linenumber) / 2;
int[] array = new int[linenumber];
for (int i = 0; i < array.length; i++) {
array[i] = tmpArrayList.get(i).intValue();
}
使用ArrayList甚至不需要计算亚麻布数。只需在while循环后随时使用tmpArrayList.size()
即可。但注意,你的文件应该只有内部,没有字符串!否则它将无法工作。
或者,您可以再次读取所有行,开始第二个循环以填充您的数组。但它不是最好的方法,因为在这种情况下你会读取文件两次:一次计算实例化数组的行数和一次填充它。