代碼實現從鍵盤接收一個字符串, 程序對其中所有字符進行排序,例如鍵盤輸入: helloitcast程序打印:acehillostt


package com.loaderman.test;

import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

public class Test {

	/**
	 * 從鍵盤接收一個字符串, 程序對其中所有字符進行排序,例如鍵盤輸入: helloitcast程序打印:acehillostt
	 * 分析:
	 * 1,鍵盤錄入字符串,Scanner
	 * 2,將字符串轉換為字符數組
	 * 3,定義TreeSet集合,傳入比較器對字符排序並保留重復
	 * 4,遍歷字符數組,將每一個字符存儲在TreeSet集合中
	 * 5,遍歷TreeSet集合,打印每一個字符
	 */
	public static void main(String[] args) {
		//1,鍵盤錄入字符串,Scanner
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入一個字符串");
		String line = sc.nextLine();
		//2,將字符串轉換為字符數組
		char[] arr = line.toCharArray();
		//3,定義TreeSet集合,傳入比較器對字符排序並保留重復
		TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>() {

			@Override
			public int compare(Character c1, Character c2) {
				//int num = c1 - c2;				//自動拆箱
				int num = c1.compareTo(c2);
				return num == 0 ? 1 : num;
			}
		});
		
		//4,遍歷字符數組,將每一個字符存儲在TreeSet集合中
		for(char c : arr) {
			ts.add(c);							//自動裝箱
		}
		
		//5,遍歷TreeSet集合,打印每一個字符
		for(Character c : ts) {
			System.out.print(c);
		}
	}

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM