Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单字符串列表-按字母顺序排列_Java_String_Sorting_Alphabetical - Fatal编程技术网

Java 单字符串列表-按字母顺序排列

Java 单字符串列表-按字母顺序排列,java,string,sorting,alphabetical,Java,String,Sorting,Alphabetical,我正在尝试编写一个代码,使用扫描仪输入一个单词列表,所有单词都在一个字符串中,然后对每个单词进行字母排序。我得到的只是按字母顺序排列的第一个单词,我如何修复它 守则: else if(answer.equals("new")) { System.out.println("Enter words, separated by commas and spaces."); String input= scanner.next(); char[] words=

我正在尝试编写一个代码,使用扫描仪输入一个单词列表,所有单词都在一个字符串中,然后对每个单词进行字母排序。我得到的只是按字母顺序排列的第一个单词,我如何修复它

守则:

else if(answer.equals("new"))
    {
      System.out.println("Enter words, separated by commas and spaces.");
      String input= scanner.next();
      char[] words= input.toCharArray(); 
      Arrays.sort(words);
      String sorted= new String(words);
      System.out.println(sorted);

    }

结果:“,啊”

您正在通过
扫描仪读取字符串。next()
,然后将该字符串拆分为字符。因此,正如您所说,它通过
input.tocharray()
按字符对单个字符串进行排序。您需要做的是读入所有单词并将它们添加到
字符串[]
。添加完所有单词后,使用
Arrays.sort(yourStringArray)
对它们进行排序。有关以下问题的答案,请参见注释。

您需要将字符串拆分为单词而不是字符。一个选择是使用。之后,您可以将这些单词连接回单个字符串:

System.out.println("Enter words, separated by commas and spaces.");
String input = scanner.nextLine();

String[] words = input.split(",| ");
Arrays.sort(words);

StringBuilder sb = new StringBuilder();
sb.append(words[0]);
for (int i = 1; i < words.length; i++) {
    sb.append(" ");
    sb.append(words[i]);
}
String sorted = sb.toString();

System.out.println(sorted);
System.out.println(“输入单词,用逗号和空格分隔”);
字符串输入=scanner.nextLine();
String[]words=input.split(“,|”);
数组。排序(单词);
StringBuilder sb=新的StringBuilder();
某人追加(字[0]);
for(int i=1;i

请注意,默认情况下,大写字母排序在小写字母之前。如果这是一个问题,请参阅。

那么如何设置字符串[]?字符串[]单词=(input1、Input2、Input3..)或者?是的,创建一个
字符串[]
并将您的字符串添加到该字符串中。然后根据该数组进行排序。您只需执行以下操作即可添加内容,如
String[]ra=newstring[10]10是任意的。然后您可以这样添加:
ra[0]=“steve”;ra[1]=“你好”。。。如果您跟踪您的大小,您可以添加到阵列中的下一个打开的插槽中。关于这一点的某些内容计算不正确,它正在编译,但在endWorks没有打印出来对我来说很好。也许你周围的代码有问题?是一个独立的例子,供您尝试,以证明它确实有效。