我正在尝试使用名为resize()的方法调整Array []的大小。我想我已经正确地编写了方法,但是原始数组在通过方法运行后没有调整大小,我不确定我在做什么错误。Array not Resizing
我测试了newArr []实际上是oldArr []长度的两倍,并包含oldArr []的值,但我无法弄清楚它为什么没有对wordList [ ]主要方法。
我的任务是使用数组而不是Arraylists,所以使用这是不可能的。
infile = new BufferedReader(new FileReader(infileName));
while (infile.ready()) {
String s = infile.readLine();
System.out.println(wordList.length);
System.out.println(count);
wordList[count] = s;
if(s.length() > lenOfLongest)
lenOfLongest = s.length();
if(s.length() < lenOfShortest)
lenOfShortest = s.length();
count++;
if(count == wordList.length)
resize(wordList);
}
private static String[] resize(String[] oldArr) {
String[] newArr = new String[oldArr.length * 2];
System.out.println(newArr.length);
for(int i = 0;i < oldArr.length; i++) {
newArr[i] = oldArr[i];
}
return newArr;
}
尝试wordList = resize(wordList); – pad
请参阅Fouads答案,您的方法会立即返回被丢弃的内容,您需要将您的单词表指向返回值。 – arynaq