java Test
来源:互联网 发布:php header 跳转 编辑:程序博客网 时间:2024/05/22 11:55
import java.io.*;
import java.util.*;
import java.lang.*;
class word //word object
{
char[] invmap={'2','2','2','3','3','3','4','4','4','5','5','5','6','6','6','7','7','7','7','8','8','8','9','9','9','9'};
String wd; //保存字母
String nwd; //保存字母数
word(String s) //构造函数
{
wd=s;
getnum();
}
void getnum() //将字母转为数字
{
char[]temp=wd.toCharArray();
for(int i=0;i<wd.length();i++)
{
temp[i]=invmap[(int)wd.charAt(i)-97];
String ts=new String(temp);
nwd=ts;
}
}
}
class wordlib //小字典库
{
LinkedList WordList=new LinkedList();
wordlib()
{
}
void ConstructLib(String[] WordArray) ///从字符串数组构造字典库
{
for(int i=0;i<WordArray.length;i++)
{
word temp=new word(WordArray[i]);
ListIterator iter=WordList.listIterator();
if(WordList.isEmpty())
WordList.addFirst(temp);
else
{
int addf=1;
while(iter.hasNext())
{
word t=(word)iter.next();
if(t.nwd.compareTo(temp.nwd)>=0)
{
if(iter.hasPrevious())
{
iter.previous();
iter.add(temp);
addf=0;
break;
}
else
{
WordList.addFirst(temp);
addf=0;
break;
}
}
} //while end
if(addf==1)
WordList.addLast(temp);
}
}
} // end of construct library
}
class ResultList //结果列表
{
LinkedList result =new LinkedList();
void add(word wd)
{
result.add(wd);
}
}
public class findword //main class
{
static String[] FiveWord={"watch","match","noise","risky","stock"};
static String[] FourWord={"work","back","come","deal","desk","book","java","tool","face"};
public static void main(String[] args)
{
boolean flag =true,errflag=false;
String s=""; //读输入字符串
wordlib w1=new wordlib();
w1. ConstructLib(FiveWord);
w1. ConstructLib(FourWord);
ListIterator iter=w1.WordList.listIterator();
try
{
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
while(flag)
{
System.out.println("Please input your number,input 'exit' to quit");
s=br.readLine();
//flag=flase
if(s.compareToIgnoreCase("exit")==0)
{
flag=false;
System.exit(0);
}
for(int i=0;i<s.length();i++)
{
if(s.charAt(i)>'9'||s.charAt(i)<'2')
{
errflag=true;
System.out.println("the input must be digital between 2 to 9");
break;
}
ResultList re=new ResultList();
ListIterator iterator=w1.WordList.listIterator();
while(iterator.hasNext())
{
word tm=(word)iterator.next();
if(tm.nwd.compareTo(s)==0)
{
re.add(tm);
}
if(tm.nwd.compareTo(s)>0)
break;
}
ListIterator reIter=re.result.listIterator();
//输出结果
if(re.result.isEmpty()&&(!errflag))
{
System.out.println("there is no result");
}
while(!re.result.isEmpty()&&reIter.hasNext())
{
word tm=(word)reIter.next();
System.out.println("result is"+tm.nwd+" "+tm.wd);
}
errflag=false;
}
}
}catch(IOException e)
{
e.printStackTrace();
}
} //end of main fuction
} //end of fine class
- java Test
- Test Java
- Java test
- java test
- Test.java
- Java Collection Framework Test
- Java Test Tools
- Java Test One
- Java Test Two
- Java Test Three
- Java Test Fore
- Java Test Five
- Java Test Six
- Java Test Seven
- Java Test Eight
- Java Test Nine
- Java Test Ten
- Java Test Eleven
- 关于GDI初步
- 第一章 Java GUI的发展和演化
- 你还指望别人怎么相信你们中国人?
- 东方的佛 VS 西方的佛
- 备忘录:美国四大主要无线运营商的开发中心网址
- java Test
- 读注册表
- ERP-企业管理的利器
- ADO连接xsl
- 下一步职业规划发展
- 数据库开发规范
- 我被爸爸教训了。
- D2005的新特性
- ezPortal 求解企业内外部的应用统一