当前位置:编程学习 > C#/ASP.NET >>

求助各位C#大神,小弟初出茅庐,编了个程序有错误,不解呀 求解

static void Main(string[] args)
        {
            int i, n, p, X, Y;
            int [] Na = new int[] {1,0002,00067,00043,00078,0006,0007,0008, };
            int[] Ra = new int[] {  };
 
            Console.WriteLine("请输入xyn");
            X = int.Parse(Console.ReadLine());
            Y = int.Parse(Console.ReadLine());
           n = int.Parse(Console.ReadLine());
           
            for (p = 1; p <= (n / (X * Y)); p++)
            {
                for (int x = 1; x <= X; x++)
                {
                    for (int y = 1; y <= Y; y++)
                    {
                       i = 1;
                        i++;
                       Console.WriteLine("结果是:" +Ra [i],"=" ,Na[(x - 1) * 600 + y + 6 * (p - 1)]);                
                   }
                }
            }
            Console.ReadLine();
        }
这是我编写的程序 我想要这种效果如:Ra[1]=Na[1]=1                         
                              Ra[2]=Na[2]=002
                              Ra[3]=Na[3]=0067......
或者是Ra[1]=1   
     Ra[2]=002
     Ra[3]=0067......
我遇到的问题,当不加Ra[]时,且数组中不加0是能显示出Na来 形如1,2,67...
当加了0之后就显示不出来了,对于Ra中[]的变化更是没有办法 ,难道是用动态数组的知识吗,
还有就是如果想Na数组中有字母,是把Int改成string类型吗? 我是改了并把之后的改成convert.toint样子可还是不行,求大神指点,或写出完整程序, 很急。。!!  谢谢!!!!!
C# String --------------------编程问答-------------------- 我不知道你XY输得什么?你确定Na[(x - 1) * 600 + y + 6 * (p - 1)]不会越界?? --------------------编程问答-------------------- 您好 好像确实会越界 当我输入Console.WriteLine ("请输入xyn");
            X  = int.Parse(Console.ReadLine());
            Y  =int.Parse(Console.ReadLine()); 
            n = int.Parse(Console.ReadLine();
           int[] Na = new int[] { 1, 2, 3, 4, 6, 8, 9 };
             for ( p = 1; p <= (n / (X * Y)); p++)
            {
                for ( int x = 1; x <= X; x++)
                {
                    for ( int y = 1; y <= Y; y++)
                    {
                       Console.WriteLine("结果是:" + Na[(x - 1) * 600 + y + 6 * (p - 1)]);
                      }
                }
            }
            Console.ReadLine();
运行中跳出来了 说越界了 。。怎么解决呢 --------------------编程问答--------------------
引用 2 楼 u011524271 的回复:
您好 好像确实会越界 当我输入Console.WriteLine ("请输入xyn");
            X  = int.Parse(Console.ReadLine());
            Y  =int.Parse(Console.ReadLine()); 
            n = int.Parse(Console.ReadLine();
           int[] Na = new int[] { 1, 2, 3, 4, 6, 8, 9 };
             for ( p = 1; p <= (n / (X * Y)); p++)
            {
                for ( int x = 1; x <= X; x++)
                {
                    for ( int y = 1; y <= Y; y++)
                    {
                       Console.WriteLine("结果是:" + Na[(x - 1) * 600 + y + 6 * (p - 1)]);
                      }
                }
            }
            Console.ReadLine();
运行中跳出来了 说越界了 。。怎么解决呢

越界超出数组范围了,你就设置你范围就行了 --------------------编程问答--------------------
引用 3 楼 u011130289 的回复:
Quote: 引用 2 楼 u011524271 的回复:

您好 好像确实会越界 当我输入Console.WriteLine ("请输入xyn");
            X  = int.Parse(Console.ReadLine());
            Y  =int.Parse(Console.ReadLine()); 
            n = int.Parse(Console.ReadLine();
           int[] Na = new int[] { 1, 2, 3, 4, 6, 8, 9 };
             for ( p = 1; p <= (n / (X * Y)); p++)
            {
                for ( int x = 1; x <= X; x++)
                {
                    for ( int y = 1; y <= Y; y++)
                    {
                       Console.WriteLine("结果是:" + Na[(x - 1) * 600 + y + 6 * (p - 1)]);
                      }
                }
            }
            Console.ReadLine();
运行中跳出来了 说越界了 。。怎么解决呢

越界超出数组范围了,你就设置你范围就行了
+1 加个if语句 在你的范围内执行
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,