首页 > 解决方案 > 如何重写方法以便打印出问题的预期结果?

问题描述

我有这个问题,我正在努力完成。

编写一个接收字符串和整数的方法,然后在同一行上多次将字符串打印到控制台,并用空格、破折号、星号、破折号和另一个空格分隔。

示例调用:

myMethod("Matthew", 3);

样本输出:

Matthew -*- Matthew -*- Matthew

但是,我编写的方法不会打印此输出。我是java新手。因此,非常感谢您的帮助。

/**
 * 
 */

package myloops;

import java.util.*;

/**
 * @author 
 *
 */
public class Quiz {
    /**
     * 
     * @param name
     * @param num
     */

    public static void myMethod(String name,  int num) {
    
    
    for (int loop = 1; loop <= num; loop++ ) {
      if (num%2 != 0) {
         System.out.print("-*-");
       } System.out.print(name);
    }
    }//end of other method
    
    /**
     * @param args
     */
    public static void main(String[] args) {
          
        myMethod("Matthew", 3);
    } // end of main method

} // end of parent class

标签: javastringloopsmethodsinteger

解决方案


SO有许多类似问题的答案示例,这个示例基于此处的答案:https ://stackoverflow.com/a/6857936/2711811 (>= java 8)

public static void myMethod(String name,  int num) {
    System.out.println(String.join(" -*- ", Collections.nCopies(num, name)));
}

推荐阅读