写了一个读入文件 处理文件中字符串的java程序
程序没有任何错误
没有抛任何异常
但是在eclipse下没有运行的结果
本身编写是会打印关于文件中的某些资料的
先开始以为是文件太大 但是在削减文件大小后仍然没有结果
望高手赐教
文件的读写及关闭都已执行了

解决方案 »

  1.   

    import java.io.*;
    class Method {
    private FileReader m;

    public Method(String filename) {
    try {
    m = new FileReader(filename);
    }catch(Exception e) {
    System.err.println("file not found!");
    }
    }


    public void answerreturn() {
    BufferedReader infile = new BufferedReader(m);
    String line;
    int i = 0;

    try {
    while((line = infile.readLine())!=null) {
    if(i % 2 == 0){
    if(i!=0){
    System.out.println(line.length());
    System.out.println(line);
    int flag = line.indexOf('.');
    flag = flag -1;
    int location = line.lastIndexOf('"');
    location = location + 11;
    System.out.println(flag + "," + location);
    char u = line.charAt(location);
    if(u == '4'||u =='9'){
    System.out.println(line.charAt(flag));
    }
    }
    i++;
    }
                    if(i == 9) i =0;
    }
    }catch (IOException e){
    System.err.println("IO Exception!");
    }

    try {
    infile.close();
    }catch (IOException e){
    System.err.println("IO Exception!");
    }

    }// answerreturn() end



    }
    public class Xingshikaoshi {
    public static void main(String[] args) {
    String filename = "laji.txt";

    Method laji = new Method(filename);
    laji.answerreturn(); }}
      

  2.   

    if(i % 2 == 0){
                        if(i!=0){
                            System.out.println(line.length());
                            System.out.println(line);
                            int flag = line.indexOf('.');
                            flag = flag -1;
                            int location = line.lastIndexOf('"');                        
                            location = location + 11;
                            System.out.println(flag + "," + location);
                            char u = line.charAt(location);
                            if(u == '4'||u =='9'){
                                System.out.println(line.charAt(flag));                    
                            }
                        }
                            i++;
                    }
    上面代码有错,要好好看看哦!
      

  3.   

    你看红色字的地方 
    你定义了int i=0
    if(i % 2 == 0)
    0%2=0吧//你这句话有意义么 ,我觉得没有意义
    if(i!=0)//当i不等于0的时候才进入if体里  i一直等于0 他还能进入if体了么,当然会没有结果了
      

  4.   

                    if(i % 2 == 0){
                        if(i!=0){
                            System.out.println(line.length());
                            System.out.println(line);
                            int flag = line.indexOf('.');
                            flag = flag -1;
                            int location = line.lastIndexOf('"');                        
                            location = location + 11;
                            System.out.println(flag + "," + location);
                            char u = line.charAt(location);
                            if(u == '4'||u =='9'){
                                System.out.println(line.charAt(flag));                    
                            }
                        }
                            i++;  //这句话位置不对
                    }
    当i=0的时候,能够进入if(i % 2 == 0){  里面,然后i++变成1
    当i=1的时候,就能够进入if(i % 2 == 0){  里面了,i++就无法执行,i永远不能等于2,自然没有结果
      

  5.   

    顶楼上的,正确,可以这样吧
    if(i>=0){
      if(i % 2 == 0){
      --------
      }
     i++;
    }