一个简单的C#案例

描述

给定主函数如下,使用c#实现下图的4个方法:

reverseChar,参数是一个字符串,返回结果是按照字符逆序输出该字符串;

reverseWord,参数也是一个字符串,返回结果是按照单词逆序输出字符串;

shortage,参数是字符串,返回该字符串的每个单词的首字母,并将首字母大写,然后输出;

printScore, 从命令行输入平时成绩和期末成绩,按照平时30%+期末70%的比例,计算最终成绩,并划分优(90 ~ 100、良(75 ~ 90)、中(60 ~ 75) 、差(<60)。
在这里插入图片描述

分析

如何安装C#环境这里就不细说了,很简单!!!推荐使用Visual Studio来进行编写代码!

这是VS下载链接,直接点击即可
VS下载链接

如果有Visual Studio Code这个软件的话,可以参考以下步骤。。。

先打开vscode,然后
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
这是.Net SDK下载链接,直接点击即可
.Net SDK下载链接

在这里插入图片描述

点击左侧创建launch.json文件
在这里插入图片描述
在这里插入图片描述

安装这个exe文件,没有什么步骤,直接一路点击下一步即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如何按F5运行不了的话,按键盘上的Ctrl+~可以调出控制台,然后输入dotnet run,然后回车即可

在这里插入图片描述

题目分析

由题目
要求可知,本题主要考察字符串反转和大小写字母转换方法的使用

C#语言已经为我们封装好了字符串反转的方法Array.Reverse(),和大小写字母转换的方法Char.ToUpper(),拿来直接用即可。

1.printScore()方法的实现

该方法的实现比较简单,思路如下:

  • 输出语句用Console.Write()或Console.WriteLine(),后者可换行
  • 输入语句用Console.ReadLine(),但是ReadLine()是用来出入字符串的,故我们在输入数字的时候需要强制转换以下,有以下两种方法
    • int psScore = Convert.ToInt32(Console.ReadLine());
    • int psScore =int.Parse(Console.ReadLine());
  • 定义一个flag,以便在最终成绩之后输出成绩的等级

具体代码如下,应该一看就能看懂

public void printScore()
        {
    
    
            Console.Write("-请输入平时成绩:");
            int psScore = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("----------");
            Console.Write("-请输入期末成绩:");
            int qmScore = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("----------");

            double endScore = psScore * 0.3 + qmScore * 0.7;

            //定义一个flag
            string flag = "优";
            
            if(endScore < 90 && endScore > 75)
            {
    
    
                flag = "良";
            } else if(endScore > 60)
            {
    
    
                flag = "中";
            } else
            {
    
    
                flag = "差";
            }
            Console.WriteLine("----------");
            Console.WriteLine("-最终成绩为:" + endScore + " " + flag);
            Console.WriteLine("----------");
        }
    }

2.reverseChar()方法的实现

算法思想:

  • 将string类型转换为char类型,数组
  • 用Array.Reverse()方法反转字符串
  • 将反转后的char转换成string
        public void reverseChar(String str)
        {
    
    
/*            算法思想:
                1.将string类型转换为char类型,数组
                2.用Array.Reverse()方法反转字符
                3.将反转后的char转换成string
*/
            char[] strs = str.ToCharArray();
            Array.Reverse(strs);
            String newStr = new string(strs);
            Console.WriteLine("----------");
            Console.WriteLine("-反转后的字符串为: " + newStr);
            Console.WriteLine("----------");
        }

3.reverseWords()方法的实现

算法思想:

  • 用split方法分割字符串
  • 然后用Reverse方法反转字符串序列
  • 如果直接输出strs实际输出的是strs在内存中的地址,所以要重写输出
  • 用for循环拼接字符串
 public void reverseWords(String str)
        {
    
    
/*            算法思想:
                1.用split方法分割字符串
                2.然后用Reverse方法反转字符串序列
                3.如果直接输出strs实际输出的是strs在内存中的地址,所以要重写输出
                4.用for循环拼接字符串
*/
            String[] strs = str.Split(' ');
            Array.Reverse(strs);
            String newStr = "";
            for(int i = 0;i < strs.Length; i++)
            {
    
    
                newStr += strs[i] + " ";
            }

            Console.WriteLine("-反转后的单词为: " + newStr);
            Console.WriteLine("----------");
        }

4.shortage()方法的实现

算法思想:

  • 用split方法分割字符串
  • 用ToUpper方法转换大小写并拼接
 public void shortage(String str)
        {
    
    
/*            算法思想:
                 1.用split方法分割字符串
                 2.用ToUpper方法转换大小写并拼接
*/
            String[] strs = str.Split(' ');
            String newStr = "";
            for(int i = 0;i < strs.Length;i++)
            {
    
    
                newStr += Char.ToUpper(strs[i][0]) + " ";
            }
            Console.WriteLine("-转换大写后的字符串为: " + newStr);
            Console.WriteLine("----------");

        }

完整代码

using System;

namespace MyConsole
{
    
    
    class EmptyClass
    {
    
    
        //反转字符串
        public void reverseChar(String str)
        {
    
    
/*            算法思想:
                1.将string类型转换为char类型,数组
                2.用Array.Reverse()方法反转字符
                3.将反转后的char转换成string
*/
            char[] strs = str.ToCharArray();
            Array.Reverse(strs);
            String newStr = new string(strs);
            Console.WriteLine("----------");
            Console.WriteLine("-反转后的字符串为: " + newStr);
            Console.WriteLine("----------");
        }
        public void reverseWords(String str)
        {
    
    
/*            算法思想:
                1.用split方法分割字符串
                2.然后用Reverse方法反转字符串序列
                3.如果直接输出strs实际输出的是strs在内存中的地址,所以要重写输出
                4.用for循环拼接字符串
*/
            String[] strs = str.Split(' ');
            Array.Reverse(strs);
            String newStr = "";
            for(int i = 0;i < strs.Length; i++)
            {
    
    
                newStr += strs[i] + " ";
            }

            Console.WriteLine("-反转后的单词为: " + newStr);
            Console.WriteLine("----------");
        }
        public void shortage(String str)
        {
    
    
/*            算法思想:
                 1.用split方法分割字符串
                 2.用ToUpper方法转换大小写并拼接
*/
            String[] strs = str.Split(' ');
            String newStr = "";
            for(int i = 0;i < strs.Length;i++)
            {
    
    
                newStr += Char.ToUpper(strs[i][0]) + " ";
            }
            Console.WriteLine("-转换大写后的字符串为: " + newStr);
            Console.WriteLine("----------");

        }
        public void printScore()
        {
    
    
            Console.Write("-请输入平时成绩:");
            int psScore = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("----------");
            Console.Write("-请输入期末成绩:");
            int qmScore = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("----------");

            double endScore = psScore * 0.3 + qmScore * 0.7;

            //定义一个flag
            string flag = "优";
            
            if(endScore < 90 && endScore > 75)
            {
    
    
                flag = "良";
            } else if(endScore > 60)
            {
    
    
                flag = "中";
            } else
            {
    
    
                flag = "差";
            }
            Console.WriteLine("----------");
            Console.WriteLine("-最终成绩为:" + endScore + " " + flag);
            Console.WriteLine("----------");
        }
    }
    class TestClass
    {
    
    
        static void Main(string[] args)
        {
    
    
        //EmptyClass前面的MyConsole加不加都可
            EmptyClass ec = new EmptyClass();
        //如果要写成Console.WriteLine(ec.reverseChar("Thank you"));这中形式,直接
        //在对应的方法中添加return语句即可,切记将方法的修饰符由void改为string,并将方
        //并将方法中的输出语句删除即可。
            ec.reverseChar("Thank you");
            ec.reverseWords("Welcome to Beijing");
            ec.shortage("as soon as possible");
            ec.printScore();
        }
    }
}

效果图

在这里插入图片描述

不要直接提交这张截图哦!!!

猜你喜欢

转载自blog.csdn.net/m0_60429030/article/details/127252691