五十道编程小题目 --- 40 字符串排序 java

来源:互联网 发布:淘宝网如何刷销量 编辑:程序博客网 时间:2024/05/21 11:56
【程序40】 

题目:字符串排序。 

import java.util.ArrayList;import java.util.HashMap;import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test40 {public static void main(String[] args) {Scanner s = new Scanner(System.in);ArrayList<String> arrayList = new ArrayList<>();int i = 0;String str = "";System.out.println("请输出字符串(回车下一组,输入stop则停止输入):");while(s.hasNext()){str = s.nextLine();if(!str.equalsIgnoreCase("stop")){arrayList.add(str);}else{break;}}System.out.println("您输入的顺序为:");System.out.println(arrayList.toString());System.out.println("排序:");stringSort(arrayList);}private static void stringSort(ArrayList<String> arrList) {ArrayList<String> arrayList1 = new ArrayList<>();ArrayList<String> arrayList2 = new ArrayList<>();//选择排序法for(int i=0; i<arrList.size()-1; i++){for(int j=i; j<arrList.size(); j++){if(arrList.get(i).compareTo(arrList.get(j)) > 0 ){swap(arrList,i,j);}}}System.out.println(arrList.toString());}//数组交换位置private static void swap(ArrayList<String> arr, int i , int j ){String strTmp = (String) arr.get(i);arr.set(i,arr.get(j) );arr.set(j, strTmp);}}
输出结果:

请输出字符串(回车下一组,输入stop则停止输入):dsfgsgdfhfhfrccfgzsdwefcabcedstop您输入的顺序为:[dsfg, sgd, fhfhfrc, cfg, zsdwefc, abced]排序:[abced, cfg, dsfg, fhfhfrc, sgd, zsdwefc]











0 0
原创粉丝点击