原始文件swimer.txt中有如下原始数据,
1 Sansan He 23 China 466
5 Vivin Luo 23 American 650
2 Stone Lee 25 China 526
4 Tom Liu 24 Japanese 612
3 Jack Chen 20 France 548
6 Mvip Bu 24 Russian 700
5 Vivin Luo 23 American 650
2 Stone Lee 25 China 526
4 Tom Liu 24 Japanese 612
3 Jack Chen 20 France 548
6 Mvip Bu 24 Russian 700
现在通过利用所学的工厂方法模式设计具有如下功能的程序,将原始文件读入后,输出一份以成绩由高到低排列,一份以成绩由低到高排列的两份数据.并将输出结果显示到Listbox控件上.
程序设计如下:
第一步: //设计模式之工厂方法模式
//分类字符串类:实现对读入的原始数据进行拆分存储到数组中
public
class StringTokenizer
{
private string data,delimiter;
private string [] tokens;
private int index=0;
public StringTokenizer(string dataLine)
{
init(dataLine,"");
}
private void init(string dataLine,string delim)
{
delimiter=delim;
data=dataLine;
tokens=data.Split(delimiter.ToCharArray());
}
public StringTokenizer(string dataLine,string delim)
{
init(dataLine,delim);
}
public bool hasMoreElements()
{
return (index<(tokens.Length));
}
public string nextElement()
{
if (index<tokens.Length)
{
return tokens[index++];
}
else
{
return "";
}
}
}
第二步:
//
一个记录游泳选手的类
public class Swimmer
{
public string frName,lName;//
选手姓名
private string club;//
选手国籍
private int age;//
选手年龄
private int place;//