using System;
using System.Data;
using System.Configuration;
using System.Collections;namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
private string[] joiner;
private string[] jjj;
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
//定义一个数组            string[] joiner = new String[9];
joiner[0] = "www";
joiner[1] = "s";
joiner[2] = "ss";
joiner[3] = "a";
joiner[4] = "aa";
            joiner[5] = "d";
            joiner[6] = "dd";
            joiner[7] = "f";
            joiner[8] = "ff";
assign(joiner);
for(int i=0;i<9;i++)
{
Console.WriteLine(jjj[i].ToString());
}
}
private void assign(string[] b)
{
//生成随机数抽取一个b数组中的一个元素。
Random rander = new Random();
for (int i = 0, j = 0, k = 0; i < 9; i++)
{
                j = rander.Next(0,9);
this.jjj = new String[9];
if (b[j] == "0")
{
i = i - 1;
continue;
}
else
{
jjj[i] = b[j];
b[j] = "0";
}
}
}
}
}

解决方案 »

  1.   

    static方法不能调用private的变量和方法!
      

  2.   

    我不知道lz这段代码是为了实现什么,反正把
    private string[] jjj;
    private void assign(string[] b)
    这两行改成
    public static private string[] jjj;
    public static assign(string[] b)
    那至少能编译通过...
      

  3.   

    類裏面的方法有兩种表現:一種是直接可以來用的,還有一種是必須實例化以後才能使用的。前者要求在方法聲明的時候必須加上static關鍵字(是不是想起Main方法了???),因爲這個方法不能被實例化!後者就不能加static了,這種方法不能像前面的一樣通過類名.方法名來調用,必須通過實例名.方法名來調用
      

  4.   

    改成这样就可以用了。using System;
    using System.Collections.Generic;
    using System.Text;namespace ConsoleApplication2
    {
        class Program
        {
            //private string[] joiner;
            //private string[] jjj;
            //private void assign(string[] b);
            static void Main(string[] args)
            {
                //
                // TODO: 在此处添加代码以启动应用程序
                //
                //定义一个数组
                Program aa = new Program();    //这里加一个实例化
                string[] joiner = new String[9];
                joiner[0] = "www";
                joiner[1] = "s";
                joiner[2] = "ss";
                joiner[3] = "a";
                joiner[4] = "aa";
                joiner[5] = "d";
                joiner[6] = "dd";
                joiner[7] = "f";
                joiner[8] = "ff";
                aa.assign(joiner);
                for (int i = 0; i < 9; i++)
                {
                    Console.WriteLine(joiner[i].ToString());
                }
                Console.ReadLine();        }        private void assign(string[] b)
            {
                //生成随机数抽取一个b数组中的一个元素。
                Random rander = new Random();
                string[] jjj = new string[9];
                for (int i = 0, j = 0; i < 9; i++)
                {
                    j = rander.Next(0, 9);
                    //jjj = new String[9];
                    if (b[j] == "0")
                    {
                        i = i - 1;
                        continue;
                    }
                    else
                    {
                        jjj[i] = b[j];
                        b[j] = "0";
                    }
                }
            }
        }
    }
      

  5.   

    string[] joiner = new String[9];
                joiner[0] = "www";
                joiner[1] = "s";
                joiner[2] = "ss";
                joiner[3] = "a";
                joiner[4] = "aa";
                joiner[5] = "d";
                joiner[6] = "dd";
                joiner[7] = "f";
                joiner[8] = "ff";這樣寫看的好不舒服...
    string[] joiner = new String[9]{"www",...};
      

  6.   

    static 声明的方法是类方法,
    没有static声明的方法是实例方法,
    类方法不能够调用实例方法