Java程序出错,请好心人看一下,在线等!

代码如下 代码有点长 各位大神大致看一下可能的错误就给我指出来吧,顺便求教一下怎么debug看程序运行到哪行代码才卡掉的呢?

不太明白你的代码再做什么。我只能根据你写的代码猜你可能错的地方

首先  openfile方法 从参数字符看应该是想要要求用户输入一个文件名称   但方法是在获取一个文件名为 enter the filename:的BufferedReader 这样连文件都不算读。 readint也是一样。如果只是单纯输出csv的某一列就不需要用动态数组。


去掉字符符号的方法 也是有问题的 你的方法是如果是字母开头的字符串就直接返回,如果不是就截取字符串第 1  到 字符串总长-2的这部分字符。和注释不同。


给你写了一个 输入文件名 和 列 然后输入csv该列的值的方法 你参考一下吧。注意没有处理一样,也没有判断 列的位置是否不存在 自己判断一下。

public static void main(String[] arg) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    String filename=getFilename(br);
    int index =readInt(br);
System.out.println(filename+":"+index);
br.close();
extractColumn(filename,index);
}

public static String getFilename(BufferedReader br) throws IOException{
System.out.print("Enter the filename:");
String filename=br.readLine();
return filename;
}

public static int readInt(BufferedReader br) throws IOException{
System.out.print("Enter the column index:");
String s=br.readLine();
int index=-1;
try{
index=Integer.parseInt(s);
}catch(NumberFormatException e){}
return index;
}

public static void extractColumn(String filename,int index) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(filename)));
String s;
String[] ss;
while((s=br.readLine())!=null){
ss=s.split(",");
//注意index-1  超过csv列的长度 则返回最后一列的数据
if(index-1 < ss.length)
    System.out.println(ss[index-1]);
else
System.out.println(ss[ss.length-1]);
}
br.close();
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-04-22
为什么不直接把代码或者项目发上来,这样看很麻烦的。追问

字数超限了

第2个回答  2015-04-22
报错日志有吗追问

请问什么时报错日志

第3个回答  2015-04-22
你会看红字吗????
请直接看报错部分直接找出来就好了= ="
需要请贴错误代码追问

请问报错部分是哪里?

追答

...............
你应该直接运行後在主控台看,
你用除错运行那你基本上也先要有一点基础= ="
你先把会造成程式中断那部分显示出来!!

第4个回答  2015-04-22
eclipse的话,用debug模式跑呀,然后就按F6,一步一步走下去;
程序有些方法好像没有贴粗来呢?追问

不好意思 我不会T T 只到这一步

相似回答