【问题标题】:How to print array five times with loop?如何用循环打印数组五次?
【发布时间】:2018-11-08 16:54:28
【问题描述】:

我需要编写不同的方法来打印带有循环的短语,但我在打印数组时遇到了麻烦。我的任务是让每个方法打印 5 次短语,但我不知道如何使用数组来完成。这是我到目前为止所拥有的,它只打印一次。

  String[] words = {"I'm ","Ready ","Now!"};
  for(int i=0; i < 5; i++)
  {
  System.out.print(words[i]);
  }

【问题讨论】:

  • 一个循环从 1 计数到 5,另一个内部循环从 0 计数到数组的最后一个元素。
  • 您可以使用嵌套循环,外部 for 循环告诉它运行 5 次,内部循环是您已经在内部创建的循环。那会做5次。但是您可能希望将当前循环 I &lt; 5 更改为 I &lt; arraylength - 1
  • 我很确定这会引发ArrayOutOfBoundsException
  • 另一种方法是通过joining the array elements创建一个String,然后使用for循环将String打印5次。

标签: java arrays loops


【解决方案1】:

以下代码将打印该短语 5 次。

String[] words = {"I'm ","Ready ","Now!"};
  for(int i=0; i < 5; i++)
  {
   for (String word: words) 
    {
     System.out.print(word);
    }
    System.out.println("");
  }

【讨论】:

    【解决方案2】:

    我不确定格式是否重要,但如果不重要,您可以使用Arrays.toString() 方法:

    String[] words = {"I'm ","Ready ","Now!"};
    for(int i=0; i < 5; i++)
    {
      System.out.println(Arrays.toString(words));
    }
    

    【讨论】:

      【解决方案3】:

      我不会使用嵌套循环。我会先将单词连接成短语,然后将短语写五次,如下所示:

      String[] words = { "I'm ", "Ready ", "Now!" };
      String phrase = String.join("", words);
      
      for (int i = 0; i < 5; i++) {
          System.out.println(phrase);
      }
      

      打印:

      我现在准备好了!
      我现在准备好了!
      我现在准备好了!
      我现在准备好了!
      我现在准备好了!

      【讨论】:

      • 哦,我明白了!非常感谢您的帮助!!
      【解决方案4】:

      您可以创建一个方法。例如,它可以这样实现。

      public void printWords(String[] wordsArray, int repeatPhraseNumber) {
          for(int i=0;i<wordsArray.length;i++) {
             for(int repeatCount=0;repeatCount<repeatPhraseNumber;repeatCount++) {
                 System.out.println(wordsArray[i]);
             }
          }
      }
      

      你可以这样称呼它,wordConsolePrinter 是一个具有printWords 方法的类的实例。 你可以这样称呼它。

      String[] words = {"Hello","World"};
      wordConsolePrinter.printWords(words,5);
      

      这将产生以下输出。

      Hello
      Hello
      Hello
      Hello
      Hello
      World
      World
      World
      World
      World
      

      如果您需要将所有单词打印为单个句子/短语,则应修改方法如下。

      public void printWords(String[] wordsArray, int repeatPhraseNumber) {
          for(int repeatCount=0;repeatCount<repeatPhraseNumber;repeatCount++) {
             for(int i=0;i<wordsArray.length;i++) {
                 System.out.print(wordsArray[i]);
                 System.out.print(" "); // Space between words
             }
             System.out.println(""); // New line
          }
      }
      

      这将输出

      Hello World
      Hello World
      Hello World
      Hello World
      Hello World
      

      当然这可以不使用方法来实现。

      这是一项非常简单的任务,请尝试阅读有关循环和数组的更多信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-20
        相关资源
        最近更新 更多