课堂测试-找英语单词最长链
生活随笔
收集整理的这篇文章主要介绍了
课堂测试-找英语单词最长链
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1.要求:查找最长单词链
2.思想:首先读取文本文件,然后赋值给字符数组,然后进行后一个单词的首字母和前边的尾字母比对,如果相同则把后边的单词赋值给前边的,如果不同,继续向后搜索,最后循环输出赋值的字符数组,输出到文本文件;
3.源代码:
package 频率;import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.OutputStream;public class zuichang {// public void zimuss() throws Exception{public static void main(String args[]) throws IOException {try {BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\LJM\\Desktop\\a.txt"));StringBuffer sb = new StringBuffer();String text =null;while ((text=br.readLine())!= null){sb.append(text);// 将读取出的字符追加到stringbuffer中 }br.close(); // 关闭读入流 String str = sb.toString().toLowerCase(); // 将stringBuffer转为字符并转换为小写String[] words = str.split("[^(a-zA-Z)]+"); // 非单词的字符来分割,得到所有单词int i = 1;String[] sortStr = new String[words.length]; sortStr[0] = words[0]; for (int j = 0; j < words.length; j++) { if (sortStr[i - 1].equals(words[j])) continue; if (sortStr[i - 1].charAt(sortStr[i - 1].length() - 1) == words[j].charAt(0)) { sortStr[i] = words[j]; i++;} } File f = new File("C:\\Users\\LJM\\Desktop\\b.txt");//用FileOutputSteam包装文件,并设置文件可追加OutputStream out = new FileOutputStream(f,true);//字符数组for( i = 0 ; i < sortStr.length ; i++ ){if(sortStr[i]!=null) {out.write(sortStr[i].getBytes()); //向文件中写入数据 out.write('\r'); // \r\n表示换行out.write('\n'); }else if(sortStr[i]==null) {System.out.println(" ");}}out.close(); //关闭输出流System.out.println("写入成功!");// for (String s : sortStr) { // System.out.print(s+","); // } //System.out.println(); }catch (Exception e){e.printStackTrace(); }}}
4.截图:
转载于:https://www.cnblogs.com/ljm-zsy/p/10986950.html
《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读总结
以上是生活随笔为你收集整理的课堂测试-找英语单词最长链的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 面试题(程序02)
- 下一篇: 邂逅 2008-06-27 23:24