我正在尝试创建一个程序,它接受一个字符串并按字母顺序对单词进行排序,这就是我现在所拥有的,但没有任何内容正在打印出来:
System.out.println("Enter words, sepaated by commas and spaces");
String input= scanner.next();
String[] words= input.split(" ");
Arrays.sort(words);
StringBuilder zoop= new StringBuilder();
for(int i=1; i<words.length; i++){
zoop.append(" ");
zoop.append(words[i]);
}
String sorted= zoop.toString();
System.out.println(sorted);
答案 0 :(得分:2)
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
和
for(int i=0; i<words.length; i++){
scanner.next()仅返回下一个完整令牌。在您的情况下,它只返回第一个单词。因为for循环以1而不是0开始,所以程序没有打印任何内容。
答案 1 :(得分:1)
您有两个合作产生无输出的错误。首先,查看Scanner.next()和Scanner.nextLine()之间的区别。然后实现arrays are 0-based in Java并再次查看for loop。
答案 2 :(得分:0)
for(int i=1; i<words.length; i++){
应该是
for(int i=0; i<words.length; i++){