⑴ 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中如何输入一个char型字符。
方法一:
Scanner cin=new Scanner(System.in);
String s=cin.nextLine();
char ans=s.charAt(0);
这样即可获取一个字符。
方法二:
byte[] b=new byte[2];
try{
System.in.read(b)
}catch(Exception e){}
char ans=new String(b).charAt(0);
这样即可获取一个字符
⑶ java字符串插入另一字符串
你是想比较字符串的尺寸还是大小呢?
如果是指尺寸,即字符串的长度,那么比较尺寸只需要比较它们的 length 属性即可。
但如果是指大小,即字符串的内容比较,应该使用 compareTo 方法。
至于插入操作,如果是在较大字符串中插入较小字符串,可以将较大字符串使用 split 方法拆分成数组,再将较小字符串插入到指定位置,最后用拼接方法组装回字符串。