演習の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);
	}
}

コードの結果

公開された23元の記事 ウォンの賞賛2 ビュー1038

おすすめ

転載: blog.csdn.net/weixin_46101839/article/details/104362568
おすすめ