A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张荣耀 中级黑马   /  2013-8-8 18:02  /  1310 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张荣耀 于 2013-8-11 18:09 编辑

  //9、 求员工工资文件中,员工的最高工资、最低工资、平均工资。

            //文件内容  : //张三|800

                             //李四|900

                             //王五|1500
  1. static void Main(string[] args)
  2.         {
  3.            
  4.            // 文件路径

  5.         string[] dirs = System.IO.File.ReadAllLines(@"d:\新建文本文档.txt", Encoding.Default);

  6.              string maxName = "";  // 记录工资最高者的姓名
  7.         int maxScore = 0;// 记录最高工资
  8.         string minName = dirs [0].Split('|')[0];//将每行的字符串按“|”分开,姓名
  9.         int minScore = Convert.ToInt32(dirs[0].Split(',')[1]); //工资,  这一行有错
  10.         int sum = 0;
  11.             for (int i = 0; i < dirs.Length; i++)
  12.             {
  13.                 string[] strs = dirs[i].Split('|');  // 以|分割字符串
  14.                 if (Convert.ToInt32(strs[1]) > maxScore)
  15.                {
  16.                    maxScore = Convert.ToInt32(strs[1]);
  17.                    maxName = strs[0];
  18.                }
  19.                 if (Convert.ToInt32(strs[1]) < minScore)
  20.                {
  21.                    minScore = Convert.ToInt32(strs[1]);
  22.                    minName = strs[0];
  23.                }

  24.                 sum += Convert.ToInt32(strs[1]);
  25.             }
  26.             Console.WriteLine("最高工资者:{0},最高工资是:{1},", maxName, maxScore);
  27.             Console.WriteLine("最低工资者:{0},最低工资是:{1}", minName, minScore);
  28.             Console.WriteLine("平均工资:{0}",sum / dirs.Length);
  29.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

7 个回复

倒序浏览
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace test2
  6. {
  7.     class Program
  8.     {
  9.       
  10.         //定义两个数分别为10和20,打印出两个数的和
  11.         static void Main(string[] args)
  12.         {



  13.             // 文件路径


  14.             string[] dirs = System.IO.File.ReadAllLines(@"d:\新建文本文档.txt", Encoding.Default);


  15.             string maxName = "";  // 记录工资最高者的姓名

  16.             int maxScore = 0;// 记录最高工资

  17.             string minName = dirs[0].Split('|')[0];//将每行的字符串按“|”分开,姓名


  18.             int minScore = Convert.ToInt32(dirs[0].Split('|')[1]); //工资
  19.             //int minScore = int.Parse(dirs[0].Split('|')[1]);//用parse方法

  20.             int sum = 0;

  21.             for (int i = 0; i < dirs.Length; i++)
  22.             {

  23.                 string[] strs = dirs[i].Split('|');  // 以|分割字符串

  24.                 if (strs != null)  //判断不为null
  25.                 {
  26.                     if (Convert.ToInt32(strs[1]) > maxScore)
  27.                     {

  28.                         maxScore = Convert.ToInt32(strs[1]);

  29.                         maxName = strs[0];

  30.                     }

  31.                     if (int.Parse(strs[1]) < minScore)
  32.                     {

  33.                         minScore = Convert.ToInt32(strs[1]);

  34.                         minName = strs[0];

  35.                     }


  36.                     sum += int.Parse(strs[1]);
  37.                 }

  38.             }

  39.             Console.WriteLine("最高工资者:{0},最高工资是:{1},", maxName, maxScore);

  40.             Console.WriteLine("最低工资者:{0},最低工资是:{1}", minName, minScore);

  41.             Console.WriteLine("平均工资:{0}", sum / dirs.Length);
  42.             Console.ReadKey();
  43.         }
  44.     }
  45. }
复制代码
int minScore = Convert.ToInt32(dirs[0].Split(',')[1]);   分隔符为”|“而不是”,“,所以超出索引
回复 使用道具 举报
我知道你的问题在哪,首先是分割的字符错了,不是 ,而 是 |  ,  还有最后加上一行  Console.ReadLine();
回复 使用道具 举报
你可以在在错的地方设置断点,然后进行调试,不难发现错误
回复 使用道具 举报
  1. int minScore = Convert.ToInt32(dirs[0].Split('|')[1]);
复制代码
回复 使用道具 举报
熊丽 发表于 2013-8-8 22:24
int minScore = Convert.ToInt32(dirs[0].Split(',')[1]);   分隔符为”|“而不是”,“,所以超出索引 ...

你要参加黑马 .net 九期吗
回复 使用道具 举报
谢谢,那个问题解决了,又有问题要处理了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马