使用自定义输入乘以字符串输出

时间:2017-06-26 20:45:14

标签: java

我正在尝试编写一个程序,它将采用包含“How”,“Are”和“You?”的ArrayList。并将此传递给'stutter'方法,该方法将在询问用户数字/他们想要重复该单词的次数之后使输出重复单词。

示例:如果用户输入4,我会通过How,Are和You? 4这个口吃方法和输出将是How,How,How,How,Are,Are,Are,Are,You?,你?,你?,你?这看起来很简单,但我无法得到正确的输出。任何帮助表示赞赏!

import java.util.*;
public class Question3 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("how");
        list.add("are");
        list.add("you?");
        Scanner input = new Scanner(System.in);
        System.out.println("How many repeats?");
        int repeat = input.nextInt();
        System.out.println("Before stutter: " + list);
        stutter(list, repeat);
    }
 public static void stutter(ArrayList<String> list, int repeat){
        ArrayList<String> modifiedList = new ArrayList<String>();
        for(String str : list) {
            for(int i = 0; i < repeat; i++)
                modifiedList.add(str);
            System.out.print(modifiedList);
        }       
     } 
 }      

1 个答案:

答案 0 :(得分:0)

print语句在外部循环中运行,因此它为每个modifiedList打印str一次。将其移动到方法的末尾,以便打印最终结果一次:

 public static void stutter(ArrayList<String> list, int repeat){
    ArrayList<String> modifiedList = new ArrayList<String>();
    for(String str : list) {
        for(int i = 0; i < repeat; i++)
            modifiedList.add(str);
    }       
    System.out.print(modifiedList);
 }