Code
using System;
using System.Text;
using System.Collections;
public class SamplesArrayList
{
public static void Main()
{
Console.WriteLine("输入1:清输入一系列单词,以空格分开(支持多空格):");
string strSouce = Console.ReadLine(); //屏幕上接收字符串
string[] splitStr = strSouce.Trim().Split(' '); //分离字符串,成为字符串数组
StrOfNoSpaces(ref splitStr); //去除全空格的字符串
Console.WriteLine("-------------------------------------------------------");
Console.WriteLine("输出1:字符串数组原样输出");
PrintStr(splitStr);
Console.WriteLine("-------------------------------------------------------");
SortStr(splitStr); //数组升序排序
Console.WriteLine("输出2:字符串升序排序后输出");
PrintStr(splitStr);
Console.WriteLine("-------------------------------------------------------");
Console.WriteLine("输出3:字符串分组输出,并统计个数");
Group(splitStr); //字符串数组分组
Console.WriteLine("-------------------------------------------------------");
Console.WriteLine("输入2:按条件模糊查询,请输入查询条件:");
string condition1 = Console.ReadLine();
Console.WriteLine("输出4:按条件模糊查询,输出查询结果");
Find(splitStr, condition1); //按条件模糊查询出所有符合要求的字符串
Console.WriteLine("-------------------------------------------------------");
Console.ReadKey();
}
public static void Find(string[] s, string conditions)//按条件模糊查询出所有符合要求的字符串
{
int p = 0;
ArrayList tempList = new ArrayList();
for(int i=0;i<s.Length;i++)
if (s[i].Contains(conditions))
{
tempList.Add(s[i]);
p += 1;
}
if (p != 0)
{
string[] strTemp = (string[])tempList.ToArray(typeof(string));
PrintStr(strTemp);
}
else
Console.WriteLine("没有符合条件的字符串!");
}
public static void Group(string[] s)//字符数组分组,输出每个单词的出现次数
{
ArrayList listStr = new ArrayList();
ArrayList listNum = new ArrayList();
for(int i=0;i<s.Length;i++)
if (s[i] != "")
{
int temp = 1;
for (int j = i+1; j < s.Length; j++)
if (s[j] == s[i])
{
temp += 1;
s[j] = "";
}
listStr.Add(s[i]);
listNum.Add(temp);
}
string[] strOfGroup = (string[])listStr.ToArray(typeof(string));
int[] numOfGroup = (int[])listNum.ToArray(typeof(int));
for (int k = 0; k < strOfGroup.Length; k++)
{
Console.WriteLine("单词< {0} >的个数为{1}", strOfGroup[k], numOfGroup[k]);
}
}
public static void StrOfNoSpaces(ref string[] s1)//去除全空格的字符串
{
ArrayList temp = new ArrayList();
foreach (string s in s1)
if (s.Trim() != "")
temp.Add(s);
s1 = (string[])temp.ToArray(typeof(string));
}
public static void SortStr(string[] s)//数组升序排序
{
int min = 0;
string temp = "";
for (int i = 0; i < s.Length; i++)
{
min = i;
for (int j = i + 1; j < s.Length; j++)
if ((String.Compare(s[j], s[min])) < 0)
min = j;
if (min != i)
{
temp = s[min];
s[min] = s[i];
s[i] = temp;
}
}
}
public static void PrintStr(string[] s)//打印输出数组
{
Console.WriteLine("字符串的个数为{0}", s.Length);
if (s.Length > 1)
{
for (int i = 0; i < s.Length - 1; i++)
Console.Write("< {0} >--", s[i]);
Console.Write("< {0} >", s[s.Length - 1]);
}
else
Console.Write("< {0} >", s[s.Length-1]);
Console.WriteLine();
}
}
using System;
using System.Text;
using System.Collections;
public class SamplesArrayList
{
public static void Main()
{
Console.WriteLine("输入1:清输入一系列单词,以空格分开(支持多空格):");
string strSouce = Console.ReadLine(); //屏幕上接收字符串
string[] splitStr = strSouce.Trim().Split(' '); //分离字符串,成为字符串数组
StrOfNoSpaces(ref splitStr); //去除全空格的字符串
Console.WriteLine("-------------------------------------------------------");
Console.WriteLine("输出1:字符串数组原样输出");
PrintStr(splitStr);
Console.WriteLine("-------------------------------------------------------");
SortStr(splitStr); //数组升序排序
Console.WriteLine("输出2:字符串升序排序后输出");
PrintStr(splitStr);
Console.WriteLine("-------------------------------------------------------");
Console.WriteLine("输出3:字符串分组输出,并统计个数");
Group(splitStr); //字符串数组分组
Console.WriteLine("-------------------------------------------------------");
Console.WriteLine("输入2:按条件模糊查询,请输入查询条件:");
string condition1 = Console.ReadLine();
Console.WriteLine("输出4:按条件模糊查询,输出查询结果");
Find(splitStr, condition1); //按条件模糊查询出所有符合要求的字符串
Console.WriteLine("-------------------------------------------------------");
Console.ReadKey();
}
public static void Find(string[] s, string conditions)//按条件模糊查询出所有符合要求的字符串
{
int p = 0;
ArrayList tempList = new ArrayList();
for(int i=0;i<s.Length;i++)
if (s[i].Contains(conditions))
{
tempList.Add(s[i]);
p += 1;
}
if (p != 0)
{
string[] strTemp = (string[])tempList.ToArray(typeof(string));
PrintStr(strTemp);
}
else
Console.WriteLine("没有符合条件的字符串!");
}
public static void Group(string[] s)//字符数组分组,输出每个单词的出现次数
{
ArrayList listStr = new ArrayList();
ArrayList listNum = new ArrayList();
for(int i=0;i<s.Length;i++)
if (s[i] != "")
{
int temp = 1;
for (int j = i+1; j < s.Length; j++)
if (s[j] == s[i])
{
temp += 1;
s[j] = "";
}
listStr.Add(s[i]);
listNum.Add(temp);
}
string[] strOfGroup = (string[])listStr.ToArray(typeof(string));
int[] numOfGroup = (int[])listNum.ToArray(typeof(int));
for (int k = 0; k < strOfGroup.Length; k++)
{
Console.WriteLine("单词< {0} >的个数为{1}", strOfGroup[k], numOfGroup[k]);
}
}
public static void StrOfNoSpaces(ref string[] s1)//去除全空格的字符串
{
ArrayList temp = new ArrayList();
foreach (string s in s1)
if (s.Trim() != "")
temp.Add(s);
s1 = (string[])temp.ToArray(typeof(string));
}
public static void SortStr(string[] s)//数组升序排序
{
int min = 0;
string temp = "";
for (int i = 0; i < s.Length; i++)
{
min = i;
for (int j = i + 1; j < s.Length; j++)
if ((String.Compare(s[j], s[min])) < 0)
min = j;
if (min != i)
{
temp = s[min];
s[min] = s[i];
s[i] = temp;
}
}
}
public static void PrintStr(string[] s)//打印输出数组
{
Console.WriteLine("字符串的个数为{0}", s.Length);
if (s.Length > 1)
{
for (int i = 0; i < s.Length - 1; i++)
Console.Write("< {0} >--", s[i]);
Console.Write("< {0} >", s[s.Length - 1]);
}
else
Console.Write("< {0} >", s[s.Length-1]);
Console.WriteLine();
}
}