注:重点使用C#中方法的使用,而不是侧重算法
【实验目的】
1.进一步掌握类和对象的使用。
2.掌握字段、属性、方法(参数、重载、重写与覆盖)、继承和多态的使用。
3.掌握C#常用的基础类和集合的使用。
【实验内容】
1.编写一个控制台应用。输入一组整数,输出所有的奇数。
2.输入一个由若干字符组成的字符串,输出其中的大写字母、小写字母、数字和其他字符的个数。
3.输入学号和姓名,对不存在的学号加到hashtable类的实例中,对存在学号给出提示。结束输入后,输出学号为奇数的所有学生。
4.设计一个程序,输入10个数存入数组中,然后实现冒泡排序
3.输入学号和姓名,对不存在的学号加到hashtable类的实例中,对存在学号给出提示。结束输入后,输出学号为奇数的所有学生。
学习使用Hashtable Class(转)
(1)编写一个控制台程序,创建哈希集合,内含部分国家的名称和首都,提示用户输入一个国家名称,则在哈希集合中查找该国首都名称并输出。
建立Hashtable类,形成映射,如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace hashtable {
class Program
{
static void Main(string[] args)
{
Hashtable hst = new Hashtable();
hst.Add("China", "Beijing");
hst.Add("England", "London");
hst.Add("Japan", "Tokyo");
string a;
a = Console.ReadLine();
Console.WriteLine(hst[a]);
Console.Read();
}
}
}
(2)输入学号和姓名,对不存在的学号加到hashtable类的实例中,对存在学号给出提示。结束输入后,输出学号为奇数的所有学生。
方案1:使用哈希表的泛型Dictionary<>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace hashtable {
class Program
{
static void Main(string[] args)
{
Dictionary <int, string> hst = new Dictionary <int, string>();
string name;
int sid;
string temp;
while (true)
{
Console.Write("输入学生姓名: ");
name = Console.ReadLine();
Console.Write("输入学生学号: ");
sid = Convert.ToInt32(Console.ReadLine());
if (hst.ContainsKey(sid))
{
Console.WriteLine("该值已存在,是否继续添加?(Y/N)");
temp = Console.ReadLine();
if (temp == "Y" || temp == "y")
continue;
else
break;
}
else
{
hst.Add(sid, name);
Console.WriteLine("添加成功,是否继续添加?(Y/N)");
temp = Console.ReadLine();
if (temp == "Y" || temp == "y")
continue;
else
break;
}
}//end of input
foreach (var item in hst)
{
if (item.Key % 2 == 1)
{
Console.WriteLine("{0}, {1}", item.Value, item.Key);
}
}
Console.Read();
}
}
}
方案二:使用哈希表Hastable()
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace hashtable {
class Program
{
static void Main(string[] args)
{
Hashtable hst = new Hashtable(); //hst[key] = value;
string name;
int sid;
string temp;
while (true)
{
Console.Write("输入学生姓名: ");
name = Console.ReadLine();
Console.Write("输入学生学号: ");
sid = Convert.ToInt32(Console.ReadLine());
if (hst[sid] != null)
{
Console.WriteLine("该值已存在,是否继续添加?(Y/N)");
temp = Console.ReadLine();
if (temp == "Y" || temp == "y")
continue;
else
break;
}
else
{
hst.Add(sid, name);
Console.WriteLine("添加成功,是否继续添加?(Y/N)");
temp = Console.ReadLine();
if (temp == "Y" || temp == "y")
continue;
else
break;
}
}//end of input
int tmp;
foreach (DictionaryEntry item in hst)
{
tmp = (int)item.Key;
if (tmp % 2 == 1)
Console.WriteLine("{0}, {1}", item.Value, item.Key);
}
Console.Read();
}
}
}