C# 有人能帮我解决我犯的错误吗? 使用系统; 使用System.Collections.Generic; 使用系统组件模型; 使用系统数据; 使用系统图; 使用System.Linq; 使用系统文本; 使用System.Windows.Forms; 名称空间Adaline { 公共部分类Form1:Form { 浮点数d1、d2、d3、d4、eta; 浮动y1、y2、y3、y4; 浮子w10、w11、w12; 浮子w20、w21、w22; 浮点数w30、w31、w32; 浮子w40、w41、w42; 浮子x10、x11、x12; 浮动x20、x21、x22; 浮动x30、x31、x32; 浮动x40、x41、x42; 浮网、网1、网2、网3、网4; 浮子dw10、dw11、dw12; 浮子dw20、dw21、dw22; 浮子dw30、dw31、dw32; 浮子dw40、dw41、dw42; 公共表格1() { 初始化组件(); } 公共无效Adaline(浮点数x0、浮点数x1、浮点数x2、, 浮球w0,浮球w1,浮球w2, 浮球d,浮球网,浮球y, 浮动dw0、浮动dw1、浮动dw2、浮动eta) { 净=x0*w0+x1*w1+x2*w2; 如果(net

C# 有人能帮我解决我犯的错误吗? 使用系统; 使用System.Collections.Generic; 使用系统组件模型; 使用系统数据; 使用系统图; 使用System.Linq; 使用系统文本; 使用System.Windows.Forms; 名称空间Adaline { 公共部分类Form1:Form { 浮点数d1、d2、d3、d4、eta; 浮动y1、y2、y3、y4; 浮子w10、w11、w12; 浮子w20、w21、w22; 浮点数w30、w31、w32; 浮子w40、w41、w42; 浮子x10、x11、x12; 浮动x20、x21、x22; 浮动x30、x31、x32; 浮动x40、x41、x42; 浮网、网1、网2、网3、网4; 浮子dw10、dw11、dw12; 浮子dw20、dw21、dw22; 浮子dw30、dw31、dw32; 浮子dw40、dw41、dw42; 公共表格1() { 初始化组件(); } 公共无效Adaline(浮点数x0、浮点数x1、浮点数x2、, 浮球w0,浮球w1,浮球w2, 浮球d,浮球网,浮球y, 浮动dw0、浮动dw1、浮动dw2、浮动eta) { 净=x0*w0+x1*w1+x2*w2; 如果(net,c#,C#,错误可能源于您的Adaline()方法的参数与您的成员同名(例如net),请更改它们的名称或使用this前缀来引用您的成员而不是参数。第二个错误是其他错误的原因 您已声明了一个与方法字段同名的方法参数。这会将字段隐藏在方法中 该错误会导致参数声明不正确,并且每次在方法中使用一个参数时都会出现另一个错误。您不能设置如下字符串格式: using System; using System.Collections.Generic; using System.ComponentModel; us

错误可能源于您的
Adaline()
方法的参数与您的成员同名(例如
net
),请更改它们的名称或使用
this
前缀来引用您的成员而不是参数。

第二个错误是其他错误的原因

您已声明了一个与方法字段同名的方法参数。这会将字段隐藏在方法中


该错误会导致参数声明不正确,并且每次在方法中使用一个参数时都会出现另一个错误。

您不能设置如下字符串格式:

 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 Adaline
  {
  public partial class Form1 : Form
  {
    float d1, d2, d3, d4, eta;
    float y1, y2, y3, y4;
    float w10, w11, w12;
    float w20, w21, w22;
    float w30, w31, w32;
    float w40, w41, w42;
    float x10, x11, x12;
    float x20, x21, x22;
    float x30, x31, x32;
    float x40, x41, x42;

    float net, net1, net2, net3, net4;

    float dw10, dw11, dw12;
    float dw20, dw21, dw22;
    float dw30, dw31, dw32;
    float dw40, dw41, dw42;

        public Form1()
    {
        InitializeComponent();
    }
        public void Adaline(float x0, float x1, float x2,
                            float w0, float w1, float w2,
                            float d, float net, float y,
                            float dw0, float dw1, float dw2, float eta)
        {
            net = x0 * w0 + x1 * w1 + x2 * w2;

            if (net <= 0)
                y = 1;
            else
                y = -1;

            dw0 = eta * x0 * (d - net);
            dw1 = eta * x1 * (d - net);
            dw2 = eta * x2 * (d - net);

            string a = "{0}   {1}   {2}   {3}   {4}    {5}   {6}   {7}   {8}    {9}     {10}    {11}", x0, x1, x2, w0, w1, w2, d, net, y, dw0, dw1, dw2;
            listBox1.Items.Add(a);
        }

    private void button1_Click(object sender, EventArgs e)
    {
        eta = Convert.ToSingle(textBox20);

        d1 = Convert.ToSingle(textBox19);
        d2 = Convert.ToSingle(textBox18);
        d3 = Convert.ToSingle(textBox17);
        d4 = Convert.ToSingle(textBox16);

        w10 = Convert.ToSingle(textBox3);
        w11 = Convert.ToSingle(textBox2);
        w12 = Convert.ToSingle(textBox1);
        int passes = 0;

        x10 = Convert.ToSingle(textBox7);
        x11 = Convert.ToSingle(textBox11); 
        x12 = Convert.ToSingle(textBox15);
        x20 = Convert.ToSingle(textBox6);
        x21 = Convert.ToSingle(textBox10);
        x22 = Convert.ToSingle(textBox14);
        x30 = Convert.ToSingle(textBox5);
        x31 = Convert.ToSingle(textBox9);
        x32 = Convert.ToSingle(textBox13);
        x40 = Convert.ToSingle(textBox4);
        x41 = Convert.ToSingle(textBox8);
        x42 = Convert.ToSingle(textBox12);

        while (passes <= 100)
        {
            Adaline(x10, x11, x12, w10, w11, w12, d1, net1, y1, dw10, dw11, dw12, eta);

            w20 = w10 + dw10;
            w21 = w11 + dw11;
            w22 = w12 + dw12;

            Adaline(x20, x21, x22, w20, w21, w22, d2, net2, y2, dw20, dw21, dw22, eta);

            w30 = w20 + dw20;
            w31 = w21 + dw21;
            w32 = w22 + dw22;

            Adaline(x30, x31, x32, w30, w31, w32, d3, net3, y3, dw30, dw31, dw32, eta);

            w40 = w30 + dw30;
            w41 = w31 + dw31;
            w42 = w32 + dw32;

            Adaline(x40, x41, x42, w40, w41, w42, d4, net4, y4, dw40, dw41, dw42, eta);

            w10 = w40 + dw40;
            w11 = w41 + dw41;
            w12 = w42 + dw42;

            passes += 1;
        }
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

}
相反,您必须使用格式化方法,例如:

string a = "{0}   {1}   {2}   {3}   {4}    {5}   {6}   {7}   {8}    {9}     {10}    {11}", x0, x1, x2, w0, w1, w2, d, net, y, dw0, dw1, dw2;

编译器认为您正在重新定义x0、x1、x2、w0等…

这是作业吗?请使用相应的标签。错误非常清楚,只是…您知道,阅读它们并花一分钟时间思考。去查阅文档。如果错误说,“您不能使用变量Net,因为您根本没有声明它。”@JohnKraft它们是在
Adaline
方法签名中声明的。但是为什么不将它们打印为浮点值呢?请尝试{0:f2},其中2是小数点后的数字
string a = String.Format("{0}   {1}   {2}   {3}   {4}    {5}   {6}   {7}   {8}    {9}     {10}    {11}", x0, x1, x2, w0, w1, w2, d, net, y, dw0, dw1, dw2);