苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 6874|回复: 13

[其他] 我照着教材编的,为什么没有为0的初始化数据,求大神看看

[复制链接]
发表于 2013-7-16 10:59:52 | 显示全部楼层 |阅读模式
QQ图片20130716103340.jpg
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace triArea3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        class Triangle
        {
            private double sideA;
            private double sideB;
            private double sideC;
            public Triangle()
            {
            }
            public Triangle(double sA)
            {
                sideA = sideB = sideC = sA;
            }
            public double SideA
            {
                get
                {
                    return sideA;
                }
                set
                {
                    sideA = value;
                }
            }
            public double SideB
            {
                get
                {
                    return sideB;
                }
                set
                {
                    sideB = value;
                }
            }
            public double SideC
            {
                get
                {
                    return sideC;
                }
                set
                {
                    sideC = value;
                }
            }
            public bool test()
            {
                if ((sideA + sideB > sideC) && (sideB + sideC > sideA) && (sideC + sideA > sideB))
                    return true;
                else
                    return false;
            }
            public double triCir()
            {
                double tCir = sideA + sideB + sideC;
                return tCir;
            }
            public double triArea()
            {
                double p = (sideA + sideB + sideC) / 2;
                double tarea = Math.Sqrt(p * (p - sideA) * (p - sideB) * (p - sideC));
                return tarea;
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Triangle tri1 = new Triangle(0);
            double s1, s2, s3, trcir, trarea;
            bool t;
            s1 = double.Parse(textBox1.Text);
            s2 = double.Parse(textBox2.Text);
            s3 = double.Parse(textBox3.Text);
            tri1.SideA = s1;
            tri1.SideB = s2;
            tri1.SideC = s3;
            t = tri1.test();
            if (!t)
            {
                MessageBox.Show("不能构造成三角形请重新输入");
                textBox1.Text = textBox2.Text = textBox3.Text = textBox4.Text = textBox5.Text = string.Empty;
                return;
            }
            trcir = tri1.triCir();
            trarea = tri1.triArea();
            textBox4.Text = trcir.ToString();
            textBox5.Text = trarea.ToString();
            if (tri1.SideA == tri1.SideB && tri1.SideB == tri1.SideC)
                textBox6.Text = "等边三角形边长为:" + tri1.SideA + "厘米";
            else
                textBox6.Text = "三角形三边长分别为:" + tri1.SideA + "厘米" + tri1.SideB + "厘米" + tri1.SideC + "厘米";
        }
        private void frmTriangle_Load(object sender, EventArgs e)
        {
            double s1, s2, s3, trcir, trarea;
            Triangle tri1 = new Triangle(0);
            s1 = double.Parse(textBox1.Text);
            s2 = double.Parse(textBox2.Text);
            s3 = double.Parse(textBox3.Text);
            textBox1.Text = s1.ToString();
            textBox2.Text = s3.ToString();
            textBox3.Text = s3.ToString();
            trcir = tri1.triCir();
            trarea = tri1.triArea();
            textBox4.Text = trcir.ToString();
            textBox5.Text = trcir.ToString();
            if (tri1.SideA == tri1.SideB && tri1.SideB == tri1.SideC)
                textBox6.Text = "等边三角形边长为:" + tri1.SideA + "厘米";
            else
                textBox6.Text = "三角形三边长分别为:" + tri1.SideA + "厘米" + tri1.SideB + "厘米" + tri1.SideC + "厘米";
        }
    }
}



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-7-16 11:07:54 | 显示全部楼层
frmTriangle_Load 这是你的窗体加载事件吗?如里是就在这里初始化一下就行了,
你应该默认的设置为0才会为0的
s1 = double.Parse(textBox1.Text);
            s2 = double.Parse(textBox2.Text);
            s3 = double.Parse(textBox3.Text);
            textBox1.Text = s1.ToString();
            textBox2.Text = s3.ToString();
            textBox3.Text = s3.ToString();
s123的值是直接从texBox123取的,默认texbox132是没有数据的,你取出他的数据再给他自己这怎么可能会有数据呢
你自己想一下就明白了。
换下0就行了
 楼主| 发表于 2013-7-16 11:22:56 | 显示全部楼层
站长苏飞 发表于 2013-7-16 11:07
frmTriangle_Load 这是你的窗体加载事件吗?如里是就在这里初始化一下就行了,
你应该默认的设置为0才会为 ...

在前面我已经构造了函数
public Triangle()
            {
            }
            public Triangle(double sA)
            {
                sideA = sideB = sideC = sA;
            }
而我已经创建了函数初始化数据为0的对象 Triangle tri1 = new Triangle(0);
按理初始化数据应该为0,为什么达不到效果呢?
发表于 2013-7-16 11:36:11 | 显示全部楼层
你调试一下看看是不是0 ,你的sideA = sideB = sideC = sA这0并不表示 你的TextBox就为0啊,
你是不是想让TextBox默认为0如果是你就要转载时赋值的。
发表于 2013-7-16 11:36:55 | 显示全部楼层
或者你上传一下这个项目的代码帮你看看下午,要去吃饭了,我估计你的代码也不多,主要是界面布局麻烦,所以上传一下代码吧
 楼主| 发表于 2013-7-16 12:44:07 | 显示全部楼层
站长苏飞 发表于 2013-7-16 11:36
或者你上传一下这个项目的代码帮你看看下午,要去吃饭了,我估计你的代码也不多,主要是界面布局麻烦,所以 ...

[code=csharp]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace triArea3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        class Triangle
        {
            private double sideA;
            private double sideB;
            private double sideC;
            public Triangle()
            {
            }
            public Triangle(double sA)
            {
                sideA = sideB = sideC = sA;
            }
            public double SideA
            {
                get
                {
                    return sideA;
                }
                set
                {
                    sideA = value;
                }
            }
            public double SideB
            {
                get
                {
                    return sideB;
                }
                set
                {
                    sideB = value;
                }
            }
            public double SideC
            {
                get
                {
                    return sideC;
                }
                set
                {
                    sideC = value;
                }
            }
            public bool test()
            {
                if ((sideA + sideB > sideC) && (sideB + sideC > sideA) && (sideC + sideA > sideB))
                    return true;
                else
                    return false;
            }
            public double triCir()
            {
                double tCir = sideA + sideB + sideC;
                return tCir;
            }
            public double triArea()
            {
                double p = (sideA + sideB + sideC) / 2;
                double tarea = Math.Sqrt(p * (p - sideA) * (p - sideB) * (p - sideC));
                return tarea;
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Triangle tri1 = new Triangle(0);
            double s1, s2, s3, trcir, trarea;
            bool t;
            s1 = double.Parse(textBox1.Text);
            s2 = double.Parse(textBox2.Text);
            s3 = double.Parse(textBox3.Text);
            tri1.SideA = s1;
            tri1.SideB = s2;
            tri1.SideC = s3;
            t = tri1.test();
            if (!t)
            {
                MessageBox.Show("不能构造成三角形请重新输入");
                textBox1.Text = textBox2.Text = textBox3.Text = textBox4.Text = textBox5.Text = string.Empty;
                return;
            }
            trcir = tri1.triCir();
            trarea = tri1.triArea();
            textBox4.Text = trcir.ToString();
            textBox5.Text = trarea.ToString();
            if (tri1.SideA == tri1.SideB && tri1.SideB == tri1.SideC)
                textBox6.Text = "等边三角形边长为:" + tri1.SideA + "厘米";
            else
                textBox6.Text = "三角形三边长分别为:" + tri1.SideA + "厘米" + tri1.SideB + "厘米" + tri1.SideC + "厘米";
        }
        private void frmTriangle_Load(object sender, EventArgs e)
        {
            double s1, s2, s3, trcir, trarea;
            Triangle tri1 = new Triangle(0);
            textBox1.Text = "0";
            textBox2.Text = "0";
            textBox3.Text = "0";
            s1 = double.Parse(textBox1.Text);
            s2 = double.Parse(textBox2.Text);
            s3 = double.Parse(textBox3.Text);
            
            trcir = tri1.triCir();
            trarea = tri1.triArea();
            textBox4.Text = trcir.ToString();
            textBox5.Text = trarea.ToString();
            if (tri1.SideA == tri1.SideB && tri1.SideB == tri1.SideC)
                textBox6.Text = "等边三角形边长为:" + tri1.SideA + "厘米";
            else
                textBox6.Text = "三角形三边长分别为:" + tri1.SideA + "厘米" + tri1.SideB + "厘米" + tri1.SideC + "厘米";
        }
    }
}

[/code]
发表于 2013-7-16 12:46:46 | 显示全部楼层

这样是不是可以了
 楼主| 发表于 2013-7-16 12:49:47 | 显示全部楼层

还是不行
发表于 2013-7-16 12:57:57 | 显示全部楼层
你是想让TextBox有默认值为 0还是属性里面的你上传一下代码吧,听不明白你的意思
我说你又理解不了。这样就点浪费时间了。你上传一下你的项目文件,我下载下来看看
 楼主| 发表于 2013-7-16 13:01:30 | 显示全部楼层
站长苏飞 发表于 2013-7-16 12:57
你是想让TextBox有默认值为 0还是属性里面的你上传一下代码吧,听不明白你的意思
我说你又理解不了。这样 ...

就是这个文件

triArea3.zip

44.8 KB, 下载次数: 127, 下载积分: 金钱 -1

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-27 05:28

© 2014-2021

快速回复 返回顶部 返回列表