Java编译错误缺少return语句。需要澄清

时间:2013-11-18 23:09:28

标签: java string sorting compilation

所以我无法完成这个程序。该程序应该接受您输入的任何字符串并将字母按字母顺序排序。我认为我的逻辑足够好,但我得到的返回语句错误有点奇怪。 必须有一些我忘记的东西。

我得到的错误是(将直接在此之下):

Sorting.Java:26:错误:缺少return语句                                        }                                        ^

import java.util.Scanner;

public class Sorting {
  public static void main(String args[]){
    Scanner keyboard = new Scanner(System.in);
    System.out.println("Enter a String: ");
    String s = keyboard.nextLine();
  }

  static String sort(String s) {
    char[] content = s.toCharArray();
    java.util.Arrays.sort(content);
    String sorted = new String(content);
    System.out.println(content);
    return char content; 
  } 
}

3 个答案:

答案 0 :(得分:6)

您没有返回String。您可以通过char[]的一个构造函数将String转换为String,即return new String(content);但是,您在String中已经有sorted,所以您需要做的就是:

return sorted;

此外,这不会做任何事情,因为您没有在输入的字符串上调用sort方法。 将sort(s);添加到主方法的末尾。

答案 1 :(得分:2)

return char content; 

应该是

return sorted 

您的返回方法需要String,而char content是语法错误。

答案 2 :(得分:1)

您的退货无效

return char content; 

您正在重新声明变量content,这次作为char而不是char[](无效)在return语句中(也是无效的) 。你已经说过你将返回一个String,所以你应该返回一个。例如

return sorted;