作者s97610017 (44)
看板java
标题[问题] 关於去除文章中重复值
时间Fri Feb 11 19:19:31 2011
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.StringTokenizer;
public class readtxt {
static int offset=0;
public static void main (String[] arg) throws IOException {
int i = 2219701;
String[] str = null ;
FileReader file = new FileReader("C:/AppServ/www/gogo/content/"+i+".txt");
BufferedReader bfr = new BufferedReader(file);
StringTokenizer st = null;
while (bfr.ready()) {
st = new StringTokenizer(bfr.readLine());
while( st.hasMoreTokens() ){
//System.out.println( st.nextToken() );
offset++;
str[offset]=st.nextToken();
}
}
for (String k : deleteSameNumber(str)) {
System.out.print(k+" ");
}
}
public static String[] deleteSameNumber(String[] ary) {
String [] temp = new String[ary.length];
Arrays.sort(ary);
int j = 0;
for (int i=0; i<ary.length; i++) {
if ( i != 0 && ary[i] .equals(temp[j-1])) {
j--;
}
temp[j]=ary[i];
j++;
}
String[] temp2 = new String[j];
for (int k=0; k < j; k++) {
temp2[k] = temp[k];
}
return temp2;
}
}
想请问我编译的时候都会出现以下讯息
Exception in thread "main" java.lang.NullPointerException
at readtxt.main(readtxt.java:20)
是什麽问题?
以爬过文不过没相关解答
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.141.32.53
1F:→ tkcn:你看了错误讯息有什麽想法? 02/11 19:38
2F:→ s97610017:有查了一下估狗,说是最後一个token已经是空白了但是回 02/11 19:39
3F:→ s97610017:圈还是会继续执行完最後一次str[offset]的指定 02/11 19:42
4F:→ s97610017:不过不确定,所以是要判断文章结尾然後跳出回圈吗? 02/11 19:50
5F:→ tkcn:那你知道 20 代表什麽意思吗? 02/11 19:55
6F:→ s97610017:就是指那行阿@@ 02/11 19:55
7F:→ tkcn:对,但是你这样贴程式,大家都没办法直接看出 20 是哪一行 02/11 19:57
8F:→ s97610017:抱歉第一次在这发文指这行str[offset]=st.nextToken(); 02/11 20:11
9F:→ tkcn:你的str是null,没建立阵列。 (另外建议学习其他人发问方式) 02/11 20:28