【问题标题】:Java - Looping Concept [closed]Java - 循环概念
【发布时间】:2013-02-13 07:55:23
【问题描述】:

编写一个名为 repl 的方法,该方法接受一个字符串和多次重复作为参数,并返回多次连接的字符串。例如,调用repl("hello", 3) 返回“hellohellohello”。如果重复次数为 0 或更少,则返回空字符串。

我试过了:

public String repl(String x,int y){
    if(y<=0){
        return null;
    }
    else{
        return x;
    }

}

不知怎的,我无法打印 hello 3 次。我的输出只有一次。有人能指出我做错了什么吗?

【问题讨论】:

  • 你付出了的努力。
  • 所以你的意思是我走错了方向?那我再想想别的办法。
  • 因为这看起来像是一个家庭作业问题,所以我会问你。您将返回未修改的输入字符串,因此您只会返回一份副本。你需要做什么才能让它返回三个串在一起的副本?提示:java.util.StringBuilder
  • 我认为这个问题真正体现了 ZERO 的作用。 OP只是提供了可以想象的最基本的骨架代码。他返回 null 或返回输入。他怎么能声称这是解决问题的尝试?
  • 如果我很懒惰,我什至不会尝试在线尝试那些免费练习来提高我的技能。

标签: java for-loop string-concatenation


【解决方案1】:

好的,我撤回我的-1 投票并将尝试解释(不解决问题),尽管这绝对与你在 java 方面的好坏无关。这些都是简单的通用编程概念...如果您想真正自学编程,应该从头开始。

不管怎样,你来了:

试着分析你想让你的代码做什么

我的意思是,“好像”你在告诉如何去做。想一想将如何完成所要求的工作,这是您学习编程的唯一方法。


所以,您说您想输入多少次X(例如Y)。

实现它的编程方式是(让我们以 2 人之间对话的形式实现):

  • A 人: 输入 3 次“你好”
  • B 人: 好的。让我考虑一下。
  • B 人: 1 个“hello”s(我达到 3 次了吗?没有。所以,让我们继续吧)
  • B 人: 2 个“你好”(我达到 3 次了吗?没有。所以,让我们继续吧)
  • B 人: 3 个“你好”(我达到 3 次了吗?是的。好的,就是这样)

我不确定我是否有帮助,但我绝对希望如此。


提示:查看for 语句和循环

旁注:您的if y&lt;=0 逻辑正确的,尽管它非常多余。

【讨论】:

    【解决方案2】:
    public String repl(String x,int y){
        StringBuilder sb=new StringBuilder();
        for(int i=0;i<y;i++) sb.append(x);
        return sb.toString();
    }
    

    【讨论】:

    • 我在重复同样的评论,只是提供现成的代码并不能帮助 OP 自己学习。
    猜你喜欢
    • 2018-02-14
    • 2023-01-17
    • 2014-09-22
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    相关资源
    最近更新 更多