激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - java使用IO流對數(shù)組排序?qū)嵗v解

java使用IO流對數(shù)組排序?qū)嵗v解

2021-08-12 10:53小妮淺淺 Java教程

在本篇文章里小編給大家整理的是一篇關(guān)于java使用IO流對數(shù)組排序?qū)嵗v解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。

在學(xué)會了java中io流的使用后,我們對于數(shù)組的排序,又多了一種使用方法。大家知道流處理數(shù)據(jù)的效率是比較理想的,那么在具體操作數(shù)組排序上,很多人對于排序的方法還沒有明確。下面我們先java使用流對數(shù)組排序的思路為大家進(jìn)行梳理,然后帶來對應(yīng)的實(shí)例代碼方法。

1、排序思路

(1)從字符輸入流中讀取文本,緩沖各個字符,從而實(shí)現(xiàn)字符、數(shù)組和行的高效讀取

(2)詢問用戶需要多少位數(shù)的數(shù)組

(3)轉(zhuǎn)換為數(shù)字類型

(4)將用戶輸入數(shù)字存入數(shù)組

(5)把數(shù)組按排序需求并打印出來

2、實(shí)例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public static void main(String[] args) {
 // TODO Auto-generated method stub
 try {
 //數(shù)組a()的數(shù)字個數(shù),由用戶輸入決定
 InputStreamReader isr=new InputStreamReader(System.in);
 //從字符輸入流中讀取文本,緩沖各個字符,從而實(shí)現(xiàn)字符、數(shù)組和行的高效讀取
 BufferedReader bfr=new BufferedReader(isr);
 //詢問用戶需要多少位數(shù)的數(shù)組
 System.out.println("請輸入需要多少位數(shù)的數(shù)組:\n");
 String a1=bfr.readLine();
 //將a1轉(zhuǎn)換為數(shù)字類型
 int i=Integer.parseInt(a1);
 //提示用戶輸入數(shù)組數(shù)據(jù)
 System.out.println("請向數(shù)組中存入"+i+"個數(shù)據(jù):\n");
 //將用戶輸入數(shù)字存入數(shù)組
 Integer[] a=new Integer[i];
 for(int j=0;j<i;j++){
 System.out.println("第"+(j+1)+"個:");
 a[j]=new Integer(bfr.readLine());
 }
 //把數(shù)組按升序排序并打印出來
 for(int k=1;k<i;k++){
 for(int m=0;m<(i-k);m++){
 if(a[m]>a[m+1]){
 //Integer temp=new Integer(0);
 int temp=0;
 temp=a[m];
 a[m]=a[m+1];
 a[m+1]=temp;
 }
 }
 }
 //輸出排序后的數(shù)組
 System.out.println("排序后\n");
 for(int t=0;t<=i;t++){
 System.out.println(a[t]);
 }
 
 } catch (Exception e) {
 // TODO: handle exception
 e.printStackTrace();
 }
 }
 
}

實(shí)例擴(kuò)展:

鍵盤錄入5個學(xué)生信息(姓名,語文成績,數(shù)學(xué)成績,英語成績),按照總分從高到低存入文本文件。

代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
public class TreeSetDemo {
  public static void main(String[] args) throws IOException{
    //創(chuàng)建TreeSet對象,用接口匿名內(nèi)部類的方式實(shí)現(xiàn)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);
      //次要排序條件,當(dāng)總成績相同時按學(xué)生姓名內(nèi)容比較
      int num2=(num1==0)?s2.getName().length()-s1.getName().length():num1;
        return num2;
      }   
    });
    //鍵盤錄入學(xué)生信息
    System.out.println("請輸入學(xué)生信息:");
    for(int x=1;x<6;x++) {
      Scanner sc=new Scanner(System.in);
      System.out.print("請輸入第"+x+"名學(xué)生的姓名:");
      String name=sc.nextLine();
      System.out.print("請輸入第"+x+"名學(xué)生的語文成績:");
      int chineseScore=sc.nextInt();
      System.out.print("請輸入第"+x+"名學(xué)生的數(shù)學(xué)成績:");
      int mathScore=sc.nextInt();
      System.out.print("請輸入第"+x+"名學(xué)生的英語成績:");
      int englishScore=sc.nextInt();
      //將錄入的學(xué)生信息封裝到學(xué)生對象里
      Student s=new Student();
      s.setName(name);
      s.setChineseScore(chineseScore);
      s.setMathScore(mathScore);
      s.setEnglishScore(englishScore);
      //把學(xué)生對象添加到集合中
      ts.add(s);
    }
 
    //創(chuàng)建字符緩沖輸出流對象
    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();
    }
    //關(guān)閉流,釋放資源
    bw.close();
  }
}

到此這篇關(guān)于java使用IO流對數(shù)組排序?qū)嵗v解的文章就介紹到這了,更多相關(guān)java如何使用流對數(shù)組排序內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://www.py.cn/java/shuzu/26777.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 九九综合视频 | 久久精品视频亚洲 | 黄色大片在线免费看 | 免费一级毛片在线播放不收费 | 小视频成人 | 国内精品久久久久影院不卡 | 中文字幕伦乱 | 国产精品久久久久久久久久久久午夜 | 久久久久久久久久久综合 | 爱福利视频网 | 97青青草视频 | 国产成人高清成人av片在线看 | 插插操| 视频二区国产 | 亚洲精品a在线观看 | 在线播放免费av | 免费视频www在线观看 | gril hd | 国产精品视频网 | 久久精品a一级国产免视看成人 | 自拍偷拍亚洲图片 | 19禁国产精品福利视频 | 羞羞的视频 | 亚洲射逼 | 牛牛a级毛片在线播放 | 黄色成年在线观看 | 国产一区二区精彩视频 | 毛片免费看网站 | 精品成人av一区二区三区 | 久久国产一级片 | 精品久久久久99 | 日本一区二区在线 | 黄视频网站免费在线观看 | 亚洲资源在线播放 | 欧美成人一二区 | av日韩一区二区三区 | 亚洲午夜网站 | 久久亚洲国产精品 | 国产亚洲小视频 | 国产色视频免费 | 久久久久久91 |