【问题标题】:(Java) Trying to print "abc" 5 times with a return statement [closed](Java)尝试使用返回语句打印“abc”5次[关闭]
【发布时间】:2014-11-07 12:59:26
【问题描述】:

这是作业:

编写一个名为printStrings 的方法,它接受一个字符串和一个 重复次数作为参数并打印给定的字符串 每次后面都有一个空格的次数。

printStrings("abc", 5);

将打印以下输出:

abc abc abc abc abc

这是我尝试过的:

public class Apples {

    public static String printStrings(String a) {

    return (int i = 1; i <= 5; i++) {
        System.out.print(a);
    }
    public static void main(String[] args) {
    System.out.println(printStrings("abc"));
    }
    }
}

真的不知道该怎么办。

【问题讨论】:

  • 老实说,您应该在这方面付出更多努力...上面的代码甚至无效-.-
  • 我是新来的。我一直在努力。
  • 1.谷歌“How to java” 2. 阅读文档

标签: java string parameters return


【解决方案1】:
public void printStrings(String a, int b) {
    String printString = "";
    for (int i = 0; i<b; i++){
       printString = printString+" "+a;
    }

    System.out.println(printString);
}

【讨论】:

    【解决方案2】:

    这会起作用,而且它不会在末尾放一个空格:

    private static void printStrings(String str, int num) {
        for (int i = 0; i < num; i++) {
            System.out.print(str + (i == num - 1 ? "" : " "));
        }
    }
    

    【讨论】:

      【解决方案3】:
      public static String printStrings(String a, int count) {
          String result = "";
          for (int i = 0 ; i < count ; i++)
          {
              result = result + a;
              if (i != (count-1))
                  result = result + " ";
          }
          return result;
      }
      public static void main(String[] args) {
          System.out.println(printStrings("abc", 5));
      }
      

      【讨论】:

        【解决方案4】:

        稍微修改你的代码

        public static void main(String[] args) {
            System.out.println(printStrings("abc", 5));
        }
        
        public static String printStrings(String a, int numOfTimes) {
            StringBuilder sb = new StringBuilder(""); // StringBuilder is better than concatenating Strings
            for (int i = 1; i <= numOfTimes; i++) {
                // System.out.println(sb);
                sb.append(a);  // append String 
                sb.append(" "); // append space
            }
            sb.replace(sb.length()-1, sb.length(), ""); // replace last space 
            System.out.println(sb.length()); 
            return sb.toString(); // return String representation of StringBuilder sb
        }
        

        O/P:

        19
        abc abc abc abc abc
        

        【讨论】:

          【解决方案5】:
              public static String printStrings(String a,int b) {
              String s = "";
              for(int i = 1; i <= b; i++) {
                  s=s+a+" ";    
          
              }
              return s;
             }
          
          public static void main(String[] args) {
          System.out.println(printStrings("abc",5));
          }
          

          【讨论】:

          • return (int i = 1; i &lt;= b; i++) 这是什么我什至都不知道...
          • 显然这是一个作业,请考虑指出OP的错误之处,而不仅仅是为他做作业。他通过这种方式学到了什么?
          • 它不是整个代码,而是指导 OP 构建逻辑的 jst 代码片段
          • 每个人都在犯你的错误这一事实并不是你自己做的好理由。您是第一个发布此解决方案的人,上面完美地解释了反对意见。我在另一个答案上写了类似的评论,但回答者有个好主意删除他的帖子。
          • 顺便说一句,这整个代码。 OP 要求一种打印给定字符串的方法。在你写完之后他应该建立哪个逻辑?你也写了主要的。他只需要打开eclipse并复制粘贴即可。
          猜你喜欢
          • 1970-01-01
          • 2016-06-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-02-18
          • 2023-01-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多