java对字母排序
① java输入一个字符串,要求将该字符串中出现的英文字母,按照顺序 进行输出,区分大小写,且大写优先
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Demo {
public static void main(String[] args) {
// 假设输入的内容
String input = "A8r4c5ja5AJp#7";
// 转为 char[]
char[] inputArr = input.toCharArray();
// 存储 大写字母、小写字母
List<String> upperCaseList = new ArrayList<>()
, lowerCaseList = new ArrayList<>();
for (int i = 0; i < inputArr.length; i++) {
if (inputArr[i] >= 65 && inputArr[i] <= 90) { // 大写字母
upperCaseList.add(String.valueOf(inputArr[i]));
}else if (inputArr[i] >= 97 && inputArr[i] <= 122) { // 小写字母
lowerCaseList.add(String.valueOf(inputArr[i]));
}
}
// 将大写字母、小写字母 List 转为 String[]
String[] upperCaseArr = upperCaseList.toArray(new String[0])
, lowerCaseArr = lowerCaseList.toArray(new String[0]);
// 对大写字母进行排序
Arrays.sort(upperCaseArr);
// 对小写字母进行排序
Arrays.sort(lowerCaseArr);
// 取出大写字母,拼成字符串
StringBuilder result = new StringBuilder();
for (int i = 0; i < upperCaseArr.length; i++) {
result.append(upperCaseArr[i]);
}
// 定义接收剩余字母
StringBuilder remainingStr = new StringBuilder();
for (int i = 0; i < lowerCaseArr.length; i++) {
// 将小写字母转为大写字母
String upperCaseStr = lowerCaseArr[i].toUpperCase();
// 取出大写字母所在索引
int index = result.lastIndexOf(upperCaseStr);
if (index != -1) { // 存在大写字母
// 取开头,拼接
String startStr = result.substring(0, index + 1) + lowerCaseArr[i];
// 取结尾
String endStr = result.substring(index + 1);
// 重新赋值
result = new StringBuilder(startStr + endStr);
} else { // 不存在大写字母
remainingStr.append(lowerCaseArr[i]);
}
}
// 将不存在的小写字母拼接
result.append(remainingStr);
System.out.println(result);
}
}
② java中怎么对英文字母进行排序
在java中对英文字母进行比较的时候,在java虚拟机中,他首先会转换成ASII来进行比较,所以可以直接写,如果是大写和小写的比较的话,大写要加上一定的数字,才能进行比较,如果嫌麻烦,你也可以将大写转化成小写进行比较,采用冒泡法排序吧
③ JAVA 字母排序,并插入字母后再次排序
//数组方式
String[]arr={"c","d","b","a"};
java.util.Arrays.sort(arr);
System.out.println(java.util.Arrays.toString(arr));//输出数组
//使用TreeSet排序
TreeSet<String>ts=newTreeSet<String>();
ts.add("c");
ts.add("a");
ts.add("b");
System.out.println(ts);//输出排序后的
//PS:因为TreeSet存在自然排序,所以不必实现Comparator还有Comparable接口
④ Java中如何实现字符串按字母顺序排序
package string;
import java.util.Arrays;
import java.util.Scanner;
public class SortDemo
{
public static void main(String[] args)
{
String[] strings = new String[10];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < strings.length; i++)
{
System.out.println("请输入第" + (i + 1) + "个字符串:");
strings[i] = scanner.nextLine();
}
Arrays.sort(strings);
System.out.println(Arrays.toString(strings));
}
}
⑤ java 大小写字母字符串排序 结果例如AaBb
importjava.util.*;
publicclassCharTest{
staticScannersc=newScanner(System.in);
publicstaticvoidmain(String[]args){
System.out.println("请输入随机字母!");
Stringstr=sc.nextLine().replaceAll("[^\w]+","").replaceAll("\d","");
StringBuilderstb=newStringBuilder();
char[]chs=str.toCharArray();
System.out.println(" 你输入的是:"+str);
//排序!
for(inti=1;i<chs.length;i++){
for(intj=i;j>0;j--){
if(chs[j]<chs[j-1]){
chartem=chs[j];
chs[j]=chs[j-1];
chs[j-1]=tem;
}
}
}
stb.append(chs);
System.out.println(" 排序:大写-->小写-->正序排列:"+stb);
System.out.println(" 排序:小写-->大写-->倒序排列:"+stb.reverse());
}
}