首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java -使用字符串返回0的递归

Java -使用字符串返回0的递归
EN

Stack Overflow用户
提问于 2014-10-19 14:19:34
回答 3查看 42关注 0票数 0

我想返回字符串“电气”与用户输入的数字。我已经创建了这个程序。问题是它返回的是0,而不是只显示输出。我知道问题出在哪里,我只是不知道正确的解决办法。

例子:

投入:3

产出:

电动的 电动的 电动的 0 <-这里不应该有零。

代码语言:javascript
复制
import java.io.*;

public class quitx{
    public static BufferedReader v = new BufferedReader(new InputStreamReader(System.in));
    public static int s;
    public static void main(String[] args) throws Exception{
        System.out.println("Enter an integer  : ");
        s = Integer.parseInt(v.readLine());

            System.out.println(x(s));



    }

    public static int x(int s){
        if(s <= 0)
            return s;
        else{
            System.out.println("Electric!");
            return x (s - 1);
        }

    }
}
EN

回答 3

Stack Overflow用户

发布于 2014-10-19 14:22:55

x()方法返回一个int。你不希望这个int被打印出来。但你却在打电话

代码语言:javascript
复制
System.out.println(x(s));

如果你不想把结果打印出来那.不要打印:

代码语言:javascript
复制
x(s);
票数 2
EN

Stack Overflow用户

发布于 2014-10-19 14:24:15

您的方法总是返回0,因此,与其打印x(s),只需调用x(s),然后打印s(不确定是否真的要在末尾打印)。

票数 1
EN

Stack Overflow用户

发布于 2014-10-19 14:22:56

删除方法的返回类型:

代码语言:javascript
复制
public static void x(int s){
    if (s > 0) {
        System.out.println("Electric!");
        x(s - 1);
    }
}

并将呼叫更改为

代码语言:javascript
复制
x(s);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26451437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档