| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1176 人关注过本帖
标题:[求助]c#判断,分割,计算数据
只看楼主 加入收藏
xiaxun
Rank: 1
等 级:新手上路
帖 子:207
专家分:7
注 册:2009-8-30
结帖率:79.31%
收藏
已结贴  问题点数:20 回复次数:6 
[求助]c#判断,分割,计算数据
大家好
 c#
我刚学习c#,希望大家帮忙!

有4个文本框textbox1,textbox2,textbox3,textbox4;
和一个按钮botton1,


在文本框textbox1输入:1,2,8,6,5数字中间用“逗号”分开!
然后大家大家按钮,在文本框textbox2就显示:XX是最大值,在textbox3显示:平均值是XXXX!!

如果在textbox1里面没有输入数字,比如这样输入:1,2,a,!,WW,99,
就在textbox4中报错显示:" 您输入的a,!,ww不是数字 ,请输入正确的数字,并用逗号“,”分开"!

我知道有一个split函数是用作分割的,
然后再用一个数组还存放数据把!
然后怎么判断输入的合法性,

大家帮忙设计1下
谢谢!!

[ 本帖最后由 xiaxun 于 2010-10-24 16:27 编辑 ]
搜索更多相关主题的帖子: 数据 判断 
2010-10-24 16:24
hxxiaoxiao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:29
专家分:81
注 册:2010-10-13
收藏
得分:6 
分割你已经会了,然后用int.tryparse把分割好的字符串转化成数字,会返回一个bool,如果不是数字则返回的是false,这样就判断出是不是数字了
既然已经得到了数字,怎么算平均数和最大数就不说了,这都是数学问题。
2010-10-24 17:02
xiaxun
Rank: 1
等 级:新手上路
帖 子:207
专家分:7
注 册:2009-8-30
收藏
得分:0 
我只认得分割有这么一个函数

具体怎么连接还不会呢!!

具体代码!

谢谢
2010-10-24 17:04
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
收藏
得分:6 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
           string a="1,2,a,!,WW,99";
           string[] charsa=new string[]{","};
           string[] temp = a.Split(charsa,StringSplitOptions.None);
           int n = 0;
           string s = "";
           for (int i = 0; i < temp.Length; i++)
           {
               try{
                  int te= Convert.ToInt16(temp[i]);
               }
               catch(Exception ex)
               {
                   s += temp[i]+",";  //捕捉到异常的情况时就把他们连接到一起
                   n+=1;
               }
               
           }
           Console.WriteLine(s+" is not number!");
           Console.ReadLine();
        }
        
    }
}
2010-10-24 21:29
xiaxun
Rank: 1
等 级:新手上路
帖 子:207
专家分:7
注 册:2009-8-30
收藏
得分:0 
以下是引用c1_wangyf在2010-10-24 21:29:37的发言:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
           string a="1,2,a,!,WW,99";
           string[] charsa=new string[]{","};
           string[] temp = a.Split(charsa,StringSplitOptions.None);
           int n = 0;
           string s = "";
           for (int i = 0; i < temp.Length; i++)
           {
               try{
                  int te= Convert.ToInt16(temp);
               }
               catch(Exception ex)
               {
                   s += temp+",";  //捕捉到异常的情况时就把他们连接到一起
                   n+=1;
               }
               
           }
           Console.WriteLine(s+" is not number!");
           Console.ReadLine();
        }
        
    }
}
大哥 还有其他功能呢
你这个是异常处理
那正常的输入的代码哪里去了!比较大小,求平均值!
我不是很会写!!
请你帮忙到底

谢谢
2010-10-25 09:33
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:6 
程序代码:
已按楼主要求搞定  需要添加一个timer enabled=true interval=1 这样就可以自动检测text1box 输入数据是否正确  希望楼主有帮助 如果可以的话20分全归我啦 哈哈
[local]1[/local]
private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text!="")
            {
                //遍历text1文本 并添加到list中
                ArrayList list = new ArrayList();
                string _dlist = textBox1.Text.Trim();
                foreach (char var in _dlist)
                {
                    if (var != ',')
                    {
                        list.Add(var);
                    }
                }

                //取最大值
                int min = 0;
                for (int i = 0; i < list.Count; i++)
                {
                    for (int j = list.Count - 1; j >= 0; j--)
                    {
                        if (Int32.Parse(list[i].ToString()) > Int32.Parse(list[j].ToString()))
                        {
                            min = Int32.Parse(list[i].ToString());
                        }
                        else
                        {
                            min = Int32.Parse(list[j].ToString());
                        }
                    }
                }
                textBox2.Text = min.ToString();

                //取平均值
                int value = 0;
                for (int i = 0; i < list.Count; i++)
                {
                    value += Int32.Parse(list[i].ToString());

                }
                value = value / list.Count;
                textBox3.Text = value.ToString();
            }

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (textBox1.Text.Trim()!="")
            {
                bool error = false;
                if (textBox1.Text.Trim() != "")
                {
                    foreach (char var in textBox1.Text.Trim())
                    {
                        if (var != ',')
                        {
                            if (!char.IsDigit(var))
                            {
                                textBox4.Text = "您输入的a,!,ww不是数字 ,请输入正确的数字,并用逗号“,”分开!";
                                error = true;
                            }
                            else
                            {
                                error = false;
                            }
                        }
                    }
                }
                if (!error)
                {
                    textBox4.Text = "";
                }
            }
            else
            {
                textBox4.Text = "";
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            timer1_Tick(sender,e);
        }


[ 本帖最后由 wangnannan 于 2010-10-25 10:46 编辑 ]

1.JPG (30.51 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-10-25 10:43
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
收藏
得分:0 
不好意思,把那些给忘记了,
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int n = 0;
            if (textBox1.Text != "")
            {
                string a = textBox1.Text;
                string[] charsa = new string[] { "," };
                string[] temp = a.Split(charsa, StringSplitOptions.None);
                string s = "";
                for (int i = 0; i < temp.Length; i++)
                {
                    try
                    {
                        Single te = Convert.ToSingle(temp[i]);
                    }
                    catch (Exception ex)
                    {
                        s += temp[i] + ",";  //捕捉到异常的情况时就把他们连接到一起
                        n += 1;
                    }
                }
                if (n == 0) //都是正确的数字
                {
                    Single tempt = 0;
                    for (int i = 0; i < temp.Length; i++)
                    {
                        tempt +=Convert.ToSingle( temp[i]);
                    }
                    textBox3.Text = "平均值是:"+tempt / temp.Length;
                    tempt = Convert.ToSingle(temp[0]);
                    for (int i = 1; i < temp.Length; i++)
                    {
                        if (tempt < Convert.ToSingle(temp[i]))
                        {
                            tempt = Convert.ToSingle(temp[i]);
                        }
                    }
                    textBox2.Text = "最大值是:" + tempt;
                }
                else
                {
                    textBox4.Text = "您输入的" + s.Substring(0, s.Length - 1) + "不是数字 ,请输入正确的数字!";
                    textBox1.Text = "";
                }
            }
            
            else
            {
                MessageBox.Show("请输入需要计算的数字!");
            }
        }
    }
}
2010-10-25 22:45
快速回复:[求助]c#判断,分割,计算数据
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025168 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved