C#实现多个字符串循环输入、有选择对比和输出数字
- 前言
- 一、一些关键点
- 二、使用步骤
- 1.引入库
- 总结
前言
最近在用SPSS处理数据,需要将的都是整数,而我们的问卷都是字符型,就需要进行转换。
同时我们有200个数据,因此需要循环输入和循环比较。
之前是用c写的,正好最近在学C#,同时相关的讲解文章有点少,所以这个就是给刚开始学C#的同学一点学习心得,以及少走点弯路。
编程水平有点菜,还请大佬海涵!
一、一些关键点
- 我是用的for进行循环输入的,毕竟感觉最方便。
- 字符串输入:string定义字符串,Read Line从键盘输入,字符串可以直接用“==”、“!=”进行比较。
- 通过比较运算符进行比较时可以直接用字符数组进行比较,而用Compare方法时会报类型错误,同时Compare是对字符串的全面比较并指示相对位置,因此用比较运算符是最方便的。
二、使用步骤
1.引入库
代码如下(示例):
只复制了static部分,其他部分是vs直接生成的
static void Main(string[] args)
{
int i, j, k, l;
Console.WriteLine("数据的总量为");
k = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入要比较的字符数量:");
l = Convert.ToInt32(Console.ReadLine());
String[] a = new string[l];
Console.WriteLine("请输入要比较的字符:");
for (i = 0; i < l; i++)
{
a[i] = Console.ReadLine();
}
string[] Arr = new string[k];
Console.WriteLine("please input the data:");
for (i = 0; i < k; i++)
{
Arr[i] = Console.ReadLine();
}
Console.WriteLine("结果为:");
for (j = 0; j < k; j++)
{
for (i = 0; i < l; i++)
{
if (Arr[j] == a[i])
Console.WriteLine(i+1);
else if
Console.WriteLine(" ");
};
};
Console.ReadKey();
}
## 2.读入数据
数据的总量为
5
请输入要比较的字符数量:
3
请输入要比较的字符:
vs
code
like
please input the data:
code
vs
code
like
vs
结果为:
2
1
2
3
1
这是将输入封装了一便,如果改动小的话直接在源代码中将要进行比较的字符定义了就行。
3.18更新:优化了一下有选择输入,之前是只能比较4个不同的数值,现在可以比较任意数量的数值了。
这里有个bug,就是当输入的字符不在要比较的里面的话,是没有办法显示出来的。我也试过加入空格进行占位,但因为用循环的话每个输入结果都要进行一遍比较,不一样的地方就都会加个空格。这里我还在想具体应该怎么弄,有大佬知道的话希望可以告诉我,非常感谢。
总结
其实也不是特别难,可能就是因为太简单大佬才懒得写这种代码.。。。
不过我当时确实想了好长时间,还算有点成就感。
这是我在CSDN上的第一篇文章,如果你也是刚学C#并且本文有帮助的话,希望可以点个赞,谢谢啦!
附录:这是之前的代码,如果数据和要比较的数据里没有相等的值,可以输出为0,但输入数量会受限制。
static void Main(string[] args)
{
int i, j, k,l;
String a ;
String b;
String c ;
String d ;
String e ;
Console.WriteLine("数据的总量为");
k = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入要比较的数据");
a = Console.ReadLine();
b = Console.ReadLine();
c = Console.ReadLine();
d = Console.ReadLine();
string[] Arr = new string[k];
Console.WriteLine("please input the data:");
for (i = 0; i < k; i++)
{
Arr[i] = Console.ReadLine();
}
for (j = 0; j < k; j++)
{
if (Arr[j]==a)
Console.WriteLine("1");
else if (Arr[j]== b)
Console.WriteLine("2");
else if (Arr[j] == c)
Console.WriteLine("3");
else if (Arr[j] == d)
Console.WriteLine("4");
else
Console.WriteLine("0");
};
Console.ReadKey();
}