Java集合/陣列排序知識與IO流結合例項
1 、鍵盤錄入5個學生資訊(姓名,語文成績,數學成績,英語成績),按照總分從高到低存入文字檔案。
程式碼:
public class TreeSetDemo { public static void main(String[] args) throws IOException{ //建立TreeSet物件,用介面匿名內部類的方式實現Comparator介面 TreeSet<Student> ts=new TreeSet<Student>(new Comparator<Student>() { //重寫Comparator介面中的compare()方法 @Override public int compare(Student s1,Student s2) { //主要排序條件:總成績,按從高到低輸出 int num1=s2.sum(s2)-s1.sum(s1); //次要排序條件,當總成績相同時按學生姓名內容比較 int num2=(num1==0)?s2.getName().length()-s1.getName().length():num1; return num2; } }); //鍵盤錄入學生資訊 System.out.println("請輸入學生資訊:"); for(int x=1;x<6;x++) { Scanner sc=new Scanner(System.in); System.out.print("請輸入第"+x+"名學生的姓名:"); String name=sc.nextLine(); System.out.print("請輸入第"+x+"名學生的語文成績:"); int chineseScore=sc.nextInt(); System.out.print("請輸入第"+x+"名學生的數學成績:"); int mathScore=sc.nextInt(); System.out.print("請輸入第"+x+"名學生的英語成績:"); int englishScore=sc.nextInt(); //將錄入的學生資訊封裝到學生物件裡 Student s=new Student(); s.setName(name); s.setChineseScore(chineseScore); s.setMathScore(mathScore); s.setEnglishScore(englishScore); //把學生物件新增到集合中 ts.add(s); } //建立字元緩衝輸出流物件 BufferedWriter bw=new BufferedWriter(new FileWriter("18-1.txt")); //遍歷 for(Student s:ts) { //利用StringBuffer中的追加功能,將需要輸出的資訊集合在一起 StringBuffer sb=new StringBuffer(); sb.append(s.getName()).append(",").append(s.getChineseScore()).append(",").append(s.getMathScore()) .append(",").append(s.getEnglishScore()).append(",").append(s.sum(s)); //將資訊寫入文字檔案中 bw.write(sb.toString()); //換行 bw.newLine(); //重新整理流 bw.flush(); } //關閉流,釋放資源 bw.close(); }}
2、已知s.txt檔案中有這樣的一個字串:“hcexfgijkamdnoqrzstuvwybpl”
請編寫程式讀取資料內容,把資料排序後寫入ss.txt中。
public class Paixv { public static void main(String[] args) throws IOException { // 讀取該檔案的內容,儲存到一個字串中 BufferedReader br = new BufferedReader(new FileReader("E:\西部開源\作業\課後練習\java\18-2.txt")); String line = br.readLine(); br.close(); // 把字串轉為字元陣列 char[] chs = line.toCharArray(); // 對字元陣列進行排序 Arrays.sort(chs); // 把排序後的字元陣列轉換為字串 String s = new String(chs); // 把字串再次寫入ss.txt中 BufferedWriter bw = new BufferedWriter(new FileWriter("E:\西部開源\作業\課後練習\java\18-2W.txt")); bw.write(s); bw.newLine(); // 釋放資源 bw.close(); }}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3209/viewspace-2815536/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Java基礎知識】Java陣列與集合Java陣列
- Java階段性測試--知識點:陣列,物件導向,集合、執行緒,IO流Java陣列物件執行緒
- Java知識點總結——IO流框架Java框架
- Java集合和陣列的排序方式總結Java陣列排序
- Java中IO流的知識點總結Java
- java之陣列與集合Java陣列
- Java中集合與陣列互轉總結Java陣列
- js陣列元素排序程式碼例項JS陣列排序
- Java集合 - 集合知識點總結概述Java
- JavaScript陣列合並程式碼例項JavaScript陣列
- jQuery遍歷陣列和集合程式碼例項jQuery陣列
- 關於Java的小知識集合之 ArrayList可變長陣列Java陣列
- Java 集合與陣列互相轉換Java陣列
- 總結的Java知識點集合Java
- Java基礎知識回顧之六 —– IO流Java
- Java基礎知識回顧之六 ----- IO流Java
- js 陣列元素大小排序例項程式碼JS陣列排序
- js陣列由小到大排序程式碼例項JS陣列排序
- Java IO流總結Java
- jQuery合併兩個陣列程式碼例項jQuery陣列
- js合併兩個陣列程式碼例項JS陣列
- es6陣列合並程式碼例項陣列
- 【Java基礎知識】IO流--標準輸入輸出流、列印流PrintStreamJava
- 例項總結Oracle知識點大全Oracle
- (Oracle)SQL知識與40個例項OracleSQL
- Java之IO流總結Java
- Java集合原始碼分析之基礎(一):陣列與連結串列Java原始碼陣列
- Day55.IO流複習 -Java常用類、集合、IO#Java
- 【java】【集合】陣列和集合的基本概述Java陣列
- JavaScript 陣列求和例項JavaScript陣列
- java集合物件排序總結Java物件排序
- 基礎知識1——例項程式結構
- 資料結構與演算法知識點總結(1)陣列與連結串列資料結構演算法陣列
- JAVA學習知識集合Java
- Java集合類知識整理Java
- java集合中那些知識Java
- 演算法合併排序陣列演算法排序陣列
- 關於Java IO與NIO知識都在這裡Java