让java中的字符串按字母顺序排列?
我想把一个人的名字按字母顺序/逆字母顺序打印出来。到目前为止,我有:让java中的字符串按字母顺序排列?,java,Java,我想把一个人的名字按字母顺序/逆字母顺序打印出来。到目前为止,我有: Scanner name = new Scanner(System.in); String N1; String N2; String N3; double az_za; Syst
Scanner name = new Scanner(System.in);
String N1;
String N2;
String N3;
double az_za;
System.out.print("First name: ");
N1 = name.nextLine();
System.out.print("Middle name: ");
N2 = name.nextLine();
System.out.print("Last name: ");
N3 = name.nextLine();
System.out.print("Enter 1 (alphabetical order) or 2 (reverse alphabetical order):");
az_za = name.nextDouble();
String names[] = {N1, N2, N3}
我试着用一根绳子,但我不知道该怎么用,正如你所看到的。我也试过使用
if(N1.比较到(N2)<0)和&(N1.比较到(N3)<0)
但是我不确定在{}中放什么,就像我放什么等于按字母顺序分离名字一样
我已经尽我所能了。我研究和查找了很多东西,但没有一件对我的情况有帮助,所以不要说“你做了什么,我们不会为你做家庭作业”。顺便说一句,我也尝试过使用数组和字符(?),但我们在课堂上还没有学会,所以我认为我们不能使用它们
提前付款
编辑:
好的,我想我明白了:
String names[] = {N1, N2, N3};
if (az_za == 1) {
Arrays.sort(names);
} else if (az_za == 2) {
Arrays.sort(names, Collections.reverseOrder());
从这里开始编译,但我不确定在这里的实际打印语句中放什么
因为如果我把数组中的内容放进去,sort(这里)就乱七八糟了…这里是使用Java8实现这一点的最简单方法
public class SortNames {
public static void main(String[] args) {
List<String> names = Arrays.asList("Steven", "Allen", "Bo");
names.sort(String::compareToIgnoreCase);
System.out.println(names);
}
}
把这个加到底部
if (az_za == 1) {
Arrays.sort(names);
} else if (az_za == 2) {
Arrays.sort(names, Collections.reverseOrder());
}
for (String namePart: names) {
System.out.print(namePart + " ");
}
stringnames[]={N1,N2,N3}
是一个数组。只需调用Arrays.sort(names)
。按字母顺序重新排列名称?或者名称中的字母?我正在尝试将名称作为一个整体按字母顺序排列Ex)John Adam Smith->Adam John Smith和vv的逆字母顺序查看这是否有帮助。。。我不能发表评论,因为不到50个rep lol因为某种原因一直在说找不到变量数组的符号。你知道这是什么意思吗?是的,在上课前把这个加到上面。导入java.util.array;导入java.util.Collections;导入java.util.Scanner;
[Allen, Bo, Steven]
if (az_za == 1) {
Arrays.sort(names);
} else if (az_za == 2) {
Arrays.sort(names, Collections.reverseOrder());
}
for (String namePart: names) {
System.out.print(namePart + " ");
}
String[] arr = { "d", "a", "b", "c" };
Arrays.sort(arr); // for alphabetical order
Arrays.sort(arr, (a, b) -> b.compareTo(a)); // for reverse alphabetical order
System.out.println(Arrays.toString(arr));