需求说明
输入5种水果的英文名称(如葡萄grape橘子、orange、香蕉banana),编写一个程序,输出这些水果的名称(按照在字典里出现的先后顺序输出),运行结果如图所示。
训练要点
✧String 类的使用
✧带参方法的定 义和使用
如果存在集合List就用Collections.sort方法
如果存到数组中String[]就用Arrays.sort方法
class Test {
public static void main(String[] args) {
Test solution = new Test();
solution.test();
}
void test() {
String[] strings = new String[5];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
strings[i] = scanner.nextLine();
}
Arrays.sort(strings);
for (String s : strings) {
System.out.println(s);
}
}
}
运行截图:
sort1的方法,会区分大小写,大写在前,小写在后
sort2的方法,先将首字母转为小写,然后再排序
public class Test {
public static void main(String[] args) {
String[] strings = new String[]{"grape","orange","Banana","apple","grape2222"};
sort2(strings);
}
//区分大小写,大写在前,小写在后
public static void sort1(String[] strings) {
Arrays.sort(strings);
for (int i = 0; i < strings.length; i++) {
System.out.print(strings[i]+"----");
}
}
//不区分大小写,都根据小写进行排序
public static void sort2(String[] strings) {
String[] newStringS = new String[strings.length];
Map<String, String> map = new HashMap<String, String>();
for (int i = 0; i < strings.length; i++) {
String s = strings[i];
String start = s.substring(0).toLowerCase();//将首字母小写
String lowerStartString = start + s.substring(1,s.length()-1);
newStringS[i] = lowerStartString;
map.put(lowerStartString, s);
}
Arrays.sort(newStringS);
for (int i = 0; i < newStringS.length; i++) {
System.out.println(map.get(newStringS[i]));
}
}
}
sort方法输出结果如下