论坛: 编程破解 标题: 我C#写了一个关于数组排列的遇到的问题 复制本贴地址    
作者: littleyu [littleyu]    论坛用户   登录
: System.IndexOutOfRangeException: 索引超出了数组界限。
以下是我写的代码
using System;
namespace ConsoleApplication3
{
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    class Class1
    {
          /// <summary>
          /// 应用程序的主入口点。
          /// </summary>
          [STAThread]
    static void Main(string[] args)
    {
                //
                // TODO: 在此处添加代码以启动应用程序
                //
                WriteChar dd=new WriteChar();
                Console.ReadLine();
          }
    }
    class WriteChar
    {
    public WriteChar()
    {
      string[] TempArr = Console.ReadLine().Split(',');//按逗号分隔字符串为数组
    int[] array=new int[TempArr.Length];//TempArr.Length为数组TempArr的长度,既该数组元素个数

                for (int i=0;i<TempArr.Length;i++)
                      array=int.Parse(TempArr);
                int temp;
                int huan;
                for(int i=0; i<array.Length; i++)          //排序
                {
                      temp = i;
                      for(int j=i+1; j<array.Length; j++)
                            if(array[temp]>array[j])
                                  temp = j;
                      if (temp!=i)
                      {
                            huan=array;
                            array=array[temp];
                            array[temp]=huan;
                      }
                }
                for(int i=0;i<array.Length;i++)
                      Console.WriteLine(array);
          }
    }
}

我的代码什么地方错了呀,
n.length与a.length有什么区别吗,(这个是在朋友的提示下写的,我又来不急问。)
请多指教。
还有题目的要求是“输入一串数组找出其最大值和最小值,然后将数组按顺序打印输出。”

地主 发表时间: 05-04-01 07:56

回复: lida1818 [lida1818]   论坛用户   登录
string[] TempArr = Console.ReadLine().Split(',');//按逗号分隔字符串为数组

可以这样吗??

    array=array[temp];////////
                            array[temp]=huan;
                      }
                }
                for(int i=0;i<array.Length;i++)
                      Console.WriteLine(array);//////

这两处明显是语法错误.

B1层 发表时间: 05-04-01 14:12

回复: littleyu [littleyu]   论坛用户   登录
那我如何将输入的一串数字定义成为数组呢。
string n=System.Console.ReadLine();
int[] a={??}//这中间怎么接过来呢?

B2层 发表时间: 05-04-01 15:22

回复: qiezic [qiezic]      登录
烟雨平生
代码没错,别乱指导人家小女生!


B3层 发表时间: 05-04-01 17:43

回复: lida1818 [lida1818]   论坛用户   登录
TO:极地风暴
你是说这个

string[] TempArr = Console.ReadLine().Split(',');//按逗号分隔字符串为数组

没错
还是
array=array[temp];////////
Console.WriteLine(array);//////
这两处没错?

前者错不错我不知道,所以我是在提出问题不是回答问题(刚学C#,我试着写了一个例子测了一下,通过但是运行出错),后两处应该是错的吧.所以我没有误导人家小女生

B4层 发表时间: 05-04-01 22:45

回复: qiezic [qiezic]      登录
那是因为你没去认真看代码,要是理解代码的话就知道最后不是逗号结尾,而是以数字结尾的
要留意数组的长度有没减一!

B5层 发表时间: 05-04-02 09:56

回复: littleyu [littleyu]   论坛用户   登录
你们在争论一个问题,有没有看我写的问题呀!各位,气氛不要这样嘛。

B6层 发表时间: 05-04-02 10:10

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号