回 帖 发 新 帖 刷新版面

主题:如何通过屏幕输入给数组赋值

刚接触c#,好多不懂的地方
问题如上,是不是需要将string转换成int啊?
还有如何给数组随即赋值啊?
谢谢

回复列表 (共6个回复)

沙发

static void Main(string[] args)
        {
            string[] strList = null;
            Console.WriteLine("请输入数组长度:");
            int num = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("你的数组数为"+num.ToString());
            strList = new string[num];
            for(int i =0 ;i<num;i++)
            {
                Console.WriteLine("输入数组第{0}个值:",i);
                strList[i]=Console.ReadLine();
            }
            Console.WriteLine("完成输入");
            Console.ReadLine();
        }
呵呵 控制台项目 转化的地方自己注意下,不是输入什么都能成功

板凳

using System;
using System.Collections;

namespace 冒泡排序
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
loop:        Console.WriteLine("请输入一组需要排序的数字,各数字间用;分隔开。Enter结束输入:");
            string tempstr = Console.ReadLine();
            string[] a = tempstr.Split(';');
            ArrayList arr = new ArrayList();
            foreach(string tempstring in a)
            {
                try
                {
                    arr.Add( Convert.ToInt32(tempstring));
                }
                catch
                {
                    Console.WriteLine("您输入的数据中有不能转化为整型的数据。请重新输入数列。");
                    goto loop;
                }
            }
            //*****************冒泡排序********************
            for(int j=0 ; j<arr.Count ; j++)
            {
                for (int i=0; i<arr.Count-1 ; i++)
                {
                    if((int)arr[i]<(int)arr[i+1])
                    {
                        object inttemp = arr[i+1];
                        arr[i+1] = arr[i];
                        arr[i] = inttemp;
                    }
                }
            }
            for ( int i=0 ; i<arr.Count ; i++)
            {
                Console.WriteLine(arr[i]);
            }
            //*********************************************
        }
    }
}

3 楼

这样也是可以的,这样就不用事先确定要输入的数组的个数了。

4 楼

谢谢yuhua大师!还有个问题,请大师赐教
static void Main(string[] args)
        {
            string[] strList = null;
            Console.WriteLine("请输入数组长度:");
            int num = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("你的数组数为"+num.ToString());
            strList = new string[num];
            for(int i =0 ;i<num;i++)
            {
                [color=FF0000]Console.WriteLine("输入数组第{0}个值:",i);
                strList[i]=Console.ReadLine();[/color]            }
            Console.WriteLine("完成输入");
            Console.ReadLine();
        }
红色部分输入的值不需要转换int类型吗?
用什么命令可以给数组随机赋值?

5 楼

我也是学习。。大师留给别人吧

因为我定义的数组是string类型的
所以不用转化

你说的“随机赋值”我不明白是什么意思
如果你的意思是不用string[index]这样的方式给值

那个你可以声明arraylist来用add方法给数组赋值
但实际上也是从0开始顺序的

随机赋值有什么实际意义吗?
真有必要可以用随机数来生成0到array.length的随机数,但没什么必要吧?

6 楼

Random类可以产生随即数,
Random ra = new Random(0);
i = ra.Next();
i就赋值为一个随即数了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册