求前辈帮忙做一下噢,这只是小题目而已,我有我的原因。代码贴上蛤,感激不尽!!
题目如下:
编程:文本123.txt中存有某学校的教师信息,教师信息包括教师姓名,基本工资,奖金,它们之间用空格分隔,每个教师占一行然后编制程序读取每个教师信息(注意:是读取教师的全部信息,即读取教师姓名 基本工资和奖金),然后统计所有教师基本工资的总额,奖金总额并输出!

解决方案 »

  1.   

    正好感冒了睡不着。顺带着结这个贴~~~
    估计是作业贴,考的是字符串分割和文件处理。题目出的还是不错的。
    package com.walkman.august.weekone;import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;/**
     * 读取文本文件中特定的数值
     * 2011-8-2
     * @author walkman
     */
    public class ReadSalaryFromText { public static void main(String[] args) {
    // TODO Auto-generated method stub
    File file = new File("d:\\salary.txt");
    BufferedReader br = null;
    FileReader fr = null;
    String record = "";
    double baseSalary;
    double extraSalary;
    double allBaseSalary = 0.00;
    double allExtraSalary = 0.00;

    try {
    fr = new FileReader(file);
    br = new BufferedReader(fr);
    while((br.read()) != -1) {
    record = br.readLine();
    String[] temp = record.split(" ");
    baseSalary = Double.parseDouble(temp[2]);
    extraSalary = Double.parseDouble(temp[3]);
    allBaseSalary += baseSalary;
    allExtraSalary += extraSalary;
    }
    System.out.println("所有基本工资的总和为:" + allBaseSalary);
    System.out.println("所有资金的总和为:" + allExtraSalary);
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }}
      

  2.   

    谢谢你的回答
    我把allBaseSalary 和 allExtraSalary 定义时候的赋初值为0.00删除了,没有给他们赋初值,这时候编译的时候出错了,为什么呢?
      

  3.   

    那baseSalary 和 extraSalary 怎么不用赋初值呢?
      

  4.   

    可以通过BufferedReader来读取文件中的每一行,然后使用split通过空格分隔开,然后就可以获取老师的全部信息了,
      

  5.   

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;public class TestDataFromTxt {
      
      public static void main(String[] args)throws Exception {
      int sumSalary =0;
      int sumCommit = 0;
      File file = new File("d:\\salary.txt");
      FileReader fr = new FileReader(file);   
      BufferedReader br = null;   
      String s = null;;
      String[] record = null;
      br = new BufferedReader(fr);
      while((s=br.readLine())!= null) {
               record = s.split(" ");
               System.out.print("教师姓名:"+record[0]+" ");
               System.out.print(" 工资:"+record[1]+" ");
               System.out.print(" 奖金:"+record[2]);
               System.out.println();
               sumSalary +=Integer.parseInt(record[1]);
               sumCommit +=Integer.parseInt(record[2]);
               
      }
      System.out.println("所有教师基本工资的总额:"+sumSalary+",奖金总额:"+sumCommit);
      }
    }
      

  6.   

    split()方法中的参数是正则表达式,用正则表达式就可以处理
      

  7.   

    这一个题目 看java核心技术第二卷,第一章 ,有完整的代码,我就不贴码了