java - 我的方法需要返回一个字符串,我做错了什么?

标签 java

我的程序提示该方法没有返回字符串。我的返回声明做错了什么?谢谢

 public String diskGame( int n)
 {   
     char fromPole = 'A';
     char toPole = 'B';


     //base case
     if (n == 1)  //there is only 1 disk left
     {
        return( "Move White from " + fromPole + " to " + toPole + "/n");

     }
 }

最佳答案

您的 return 语句位于 IF 中,这是一个问题。

如果 n 不等于 1 程序将无法到达 return 语句,因此会出现错误。

添加返回语句

     public String diskGame( int n)
     {   
         char fromPole = 'A';
         char toPole = 'B';
         String result = "";

         //base case
         if (n == 1)  //there is only 1 disk left
         {
           result = "Move White from " + fromPole + " to " + toPole + "/n"

         }
       return result;
     }

显然,您可以将 result 的默认值设置为您想要的任何值。如果 n!=1 它将返回 ""在我的代码中,添加任何您想要用户理解的内容,不要将其留空

关于java - 我的方法需要返回一个字符串,我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28753161/

相关文章:

java - 如何修复 "java.lang.NoClassDefFoundError: com/google/api/client/http/HttpRequestInitializer"运行时错误?

java - 从具有 hibernate ManyToMany 关系的集合中删除对象

java - 如何使用 OpenCV Java 将视频分割成帧?

java - JAVA 中的对象比较...第 2 部分

java - 基本 Groovy 脚本引擎设置

java - 编译和部署自定义 Solr 请求处理程序

java - 打包的 Spring boot 应用程序无法将其余 api 错误解析为消息

java - 非法操作 - 我应该抛出异常吗?

java.net.URI.relativize 不适用于 JAR URI

java - Hibernate EntityManger 新实例在合并后不返回查找结果