2021/4/2小白学编程C#字符加密(字符串操作)

题目

用户输入一个八位数,进行加密,加密规则是:将每位数字都加上5,再用其与10相除所得的余数代替该数字;最后将第一位数字和最后一位数字进行交换。
在这里插入图片描述
先上代码:

static void Main(string[] args)
        {
    
    
            Console.WriteLine("请输入一个八位整数:");
            //用string类型接受用户输入,方便进行字符串操作
            string str = Console.ReadLine();
            //直接转换为char类型的数组,目的是截取每一个字符
            char[] ch = str.ToCharArray();
            //声明一个int类型的数组,因为接下来要进行数据处理
            int[] nums = new int[ch.Length];
            for (int i = 0; i < ch.Length; i++)
            {
    
    
            //ch[i].Tostring强行转换为string类型,再转换为int类型
            //因为char类型不能直接转换为int类型
                nums[i] = int.Parse(ch[i].ToString());
                nums[i] = (nums[i] + 5) % 10;
            }
            //声明一个变量,用于进行数据交换
            //nums[nums.length]代表数组中的最后一个
            int temp = nums[0];
            nums[0] = nums[nums.Length - 1];
            nums[nums.Length - 1] = temp;
            string str2 = "";
            Console.WriteLine("加密后输出的结果是:");
            for (int i = 0; i < nums.Length; i++)
            {
    
    
            //声明一个为空的字符串,可以把int类型转换为string类型
               str2 += nums[i];
            }
            Console.WriteLine(str2);
        }

三个关键的点:
1、为什么要作为字符串输入?
从题目中我们很容易知道,这是关于字符串操作的题,用string类型输入会方便很多。同时,int不能直接转换为int数组,用int数组输入要换行,但只输入一个数,故使用string类型。
2、为什么要转换char类型的数组?有什么需要注意的?
我们需要对每一个字符操作,但输入的是一整条字符串,需要通过.toCharArray方法来获取每一个字符串,同时,char数组不能直接转换为int数组,需要将char数组先转换为string类型,再转换为int数组。
3、输出string类型的结果
声明一个string类型的变量,值为空,将int数组的值累加进去,就可以转换为string类型。
tip:有问题请指出!谢谢!

猜你喜欢

转载自blog.csdn.net/qq_53114505/article/details/115407553