课堂测试-找英语单词最长链
生活随笔
收集整理的這篇文章主要介紹了
课堂测试-找英语单词最长链
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
?
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