有一个文本文件,里面包含:name  salary
张三  500.0
李四  510.0现在我需要一个java程序,读取这个文件,并显示工资的总和。
请各位大侠帮帮忙,想想~~~

解决方案 »

  1.   

    readLine,然后split(" ")得到 str[1](工资),parseDouble
    累加
      

  2.   

    可以给出详细的JAVA 代码吗?
      

  3.   

    class Test {
        static public void main(String [] args) throws Exception {
            File f = new File(fileName);
            BufferedReader reader = new BufferedReader(new InputStreamReader(new   
                                            FileInputStreamReader(f)));
            String line = reader.readLine();
            String [] detail = null;
            double salary = 0;
            double total = 0;
            while(line != null) {
                detail = line.split(" ");
                try {
                    if (detail.length > 1) {
                        salary = Double.parseDouble(detail[1]);
                        
                    }
                }
                catch (NumberFormatException e) {
                    salary = 0D;
                }
                finally {
                    total += salary;
                }
                line = reader.readLine();
            }
            reader.close();
            System.out.println("total: " + total); 
        }
    }
      

  4.   

    更正 应该是 BufferedReader reader = new BufferedReader(new InputStreamReader(new   
                                            FileInputStream(f)));
      

  5.   

    测试通过的代码如下,有问题可以联系我http://www.urlshow.com
    /**
     * @时间: 2005-10-28
     * 内部说明: 
     */
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.math.BigDecimal;
    import java.util.StringTokenizer;public class 读取工资 {
        private String 工资文件;
        private double 工资合计=0;
        public 读取工资(String 工资文件){
            this.工资文件=工资文件;
        }
        private double do加法(double 被加数,double 加数){
            return (new BigDecimal(Double.toString(被加数))).add(new BigDecimal(Double.toString(加数))).doubleValue();
        }
        public void do显示() throws NumberFormatException, IOException{
            FileReader 读取=new FileReader(this.工资文件);
            BufferedReader 缓存=new BufferedReader(读取);
            String 工资=null;
            StringTokenizer 分割;
            double 员工工资;
            String 员工姓名;
            if(缓存.readLine()!=null)
                while((工资 = 缓存.readLine())!=null){
                    分割=new StringTokenizer(工资," ");
                    员工姓名=分割.nextToken();
                    员工工资=Double.parseDouble(分割.nextToken());
                    System.out.println(员工姓名+"工资="+员工工资);
                    this.工资合计=do加法(员工工资,this.工资合计);
                }
            //支出信息增加,医院信息增加,个人信息修改
            缓存.close();
            读取.close();
            System.out.println("工资合计:"+this.工资合计);
        }
        /**
         * 功能: TODO
         * @param args 
         */
        public static void main(String[] args) {
            读取工资 读取工资=new 读取工资("c:/temp/a.txt");
            try {
                读取工资.do显示();
            } catch (NumberFormatException e) {
                System.out.println("格式错误");
                System.out.println(e.getMessage());
            } catch (IOException e) {
                System.out.println("文件读取错误");
                System.out.println(e.getMessage());
            }
            //System.out.println(读取工资.get工资合计());
        }
        /**
         * Get方法
         * @return 返回 工资合计。
         */
        public double get工资合计() {
            return 工资合计;
        }
    }
      

  6.   

    保存数据时使用对象流(ObjectOutputStream) 读取数据时也使用对象流(ObjectInputStream) 就可以比较简单的实现 你的问题
      

  7.   

    xuender(徐强) ( )你的代码好猛,怕怕~~~
      

  8.   

    xuender(徐强)大哥 !!能不能不用中文写 !看的头晕晕的!!谢谢你的热心回答!!!!
      

  9.   

    非常感谢 xuender(徐强) 大哥
      

  10.   

    请问:pauliuyou(paul)
    是不是什么地方不对啊,程序运行结果是0.0啊