Java集合練習題——從控制檯輸入若干個字母放入集合中,將這些字母排序後(忽略大小寫)打印出來

/*
 * 從控制檯輸入若干個單詞(輸入回車結束)放入集合中,將這些單詞排序後(忽略大小寫)打印出來
 */
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class SortLetter {
	List<String> list=new ArrayList<>();
	String temp=null;
	
	public void sort(String letter) {
		//把用戶輸入的字符串放入集合中
		for (int i = 0; i <letter.length(); i++) {
			//使用字符串獲取單個字母放入集合中
			list.add(i, letter.substring(i,i+1));
		}//for
		
		//對集合進行排序
		for (int i = 0; i < letter.length(); i++) {
			for (int j = 0; j < letter.length()-1-i; j++) {
				/*
				*compareTo如果指定的數與參數相等返回0,如果指定的數小於參數返回 -1,如果指定的數大於參數返回 1。
				*大於0——a.compareTo(b)
				toLowerCase()變成小寫*/
				if(list.get(j).toLowerCase().compareTo(list.get(j+1).toLowerCase())>0) {
					//把兩個的位置調換過來
					temp=list.get(j);
					list.set(j,list.get(j+1));
					list.set(j+1, temp);
				}//if
			}//for
		}//for
		
		//打印輸出集合
		for (String str : list) {
			System.out.print(str);
		}
		
	}//sort
	
}//SortLetter
package sortLetter;
import java.util.Scanner;
import sortDemo01.SortLetter;

public class Test {

	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		SortLetter sl=new SortLetter();
		
		System.out.println("請輸入字母(回車結束):");
		String letter=input.next();
		System.out.println("排序結果:");
		sl.sort(letter);
	}
}

代碼結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章